【发布时间】:2020-03-25 19:49:20
【问题描述】:
如果这个问题很愚蠢,我深表歉意。代码很容易理解。
语法错误出现在最后一行。我该如何克服它?
SELECT id
FROM m_users
ORDER BY id DESC
LIMIT (SELECT COUNT(*) FROM tmp_students);
【问题讨论】:
如果这个问题很愚蠢,我深表歉意。代码很容易理解。
语法错误出现在最后一行。我该如何克服它?
SELECT id
FROM m_users
ORDER BY id DESC
LIMIT (SELECT COUNT(*) FROM tmp_students);
【问题讨论】:
你可以使用窗口函数:
SELECT u.id
FROM (SELECT u.*, ROW_NUMBER() OVER (ORDER BY id DESC) as seqnum
FROM m_users u
) u
WHERE seqnum <= (SELECT COUNT(*) FROM tmp_students)
ORDER BY id DESC
【讨论】:
LIMIT 在 MySQL 中需要一个常量。