这个嵌套查询的语法存在错误,不知道怎么修改。希望查出来根据日期先排序再根据ID分组
日期关键字set_date,希望通过c_id分组,表名order
select c_id,set_date from(select c_id,set_date from order where set_date >=DATE_SUB(CURDATE(),INTERVAL 4 DAY) order by set_date DESC)group by c_id;
关于SQL语句嵌套查询语句报错的解决问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
qq_34120704 2023-03-09 14:26关注SELECT c_id, set_date FROM ( SELECT c_id, set_date FROM `order` WHERE set_date >= DATE_SUB(CURDATE(), INTERVAL 4 DAY) ORDER BY set_date DESC ) AS sub_query GROUP BY c_id, set_date ORDER BY set_date ASC, c_id ASC;修改的地方包括:
在外层查询中添加了 set_date 以便可以按照日期和ID进行排序。
将 order 改成了 order 来避免SQL关键字冲突。
在内层查询的最后添加了一个别名 sub_query,以便可以在外层查询中引用它。
在外层查询中添加了 set_date 以便可以按照日期和ID进行排序。
在 GROUP BY 子句中添加了 set_date 以便与 SELECT 列表匹配。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录