mysql - MySQL: ORDER BY column DESC LIMIT (SELECT COUNT(*) FROM table);
问题描述
如果这个问题很愚蠢,我很抱歉。代码很容易理解。
最后一行出现语法错误。我怎样才能克服它?
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
推荐阅读
- java - 如何观察 ZK 元素的数据属性?
- swiftui - SwiftUI Button,在 AppKit 中扩展并接受键盘快捷键
- php - DateTime diff 与不同时区的不一致
- flutter - Flutter 说 fontFamily 在 IS 时没有定义?
- android - Android 应用内订阅实现
- c# - Newtonsoft.Json:使用字典
> 作为 JProperty 的内容值 - java - 如何根据java中的十进制值将十进制/浮点值增加0.1或0.001
- r - 在参数中连接字符串
- nestjs - 使用 TypeORM 选择有限数量的关系 (OneToMany)
- javascript - 使用 Javascript 更新 Google Earth Engine API 中资产的元数据