【问题标题】:MySQL: ORDER BY column DESC LIMIT (SELECT COUNT(*) FROM table);MySQL: ORDER BY column DESC LIMIT (SELECT COUNT(*) FROM table);
【发布时间】:2020-03-25 19:49:20
【问题描述】:

如果这个问题很愚蠢,我深表歉意。代码很容易理解。

语法错误出现在最后一行。我该如何克服它?

    SELECT id
    FROM m_users
    ORDER BY id DESC
    LIMIT (SELECT COUNT(*) FROM tmp_students);

【问题讨论】:

    标签: mysql sql database


    【解决方案1】:

    你可以使用窗口函数:

    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
    

    【讨论】:

    • @user8555937 。 . . LIMIT 在 MySQL 中需要一个常量。
    猜你喜欢
    • 1970-01-01
    • 2014-12-12
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多