请求修正SQL查询:按点赞+点踩总量及日期排序评论
没问题,我帮你调整这个SQL查询来满足排序需求,下面是完整的解决方案:
修正后的SQL查询
直接在现有查询末尾添加排序逻辑即可,完整语句如下:
SELECT u.login, c.* FROM comments c LEFT JOIN users u ON u.id = c.id_user WHERE ... -- 保留你原有的WHERE条件 ORDER BY (c.cnt_like + c.cnt_dislike) DESC, c.date_time DESC;
关键调整说明:
- 核心排序逻辑通过
ORDER BY实现:首先按点赞+点踩的总和降序排列(DESC保证总量高的评论排在前面) - 当总量相同时,按
date_time降序排序(默认让最新的评论靠前,如果需要优先展示最早的评论,把date_time后的DESC改成ASC即可) - 如果需要在查询结果中直观展示这个总量,可以把计算字段加到
SELECT列表里,示例如下:SELECT u.login, c.*, (c.cnt_like + c.cnt_dislike) AS cnt_total FROM comments c LEFT JOIN users u ON u.id = c.id_user WHERE ... ORDER BY cnt_total DESC, c.date_time DESC;
这样就完全匹配你提出的排序规则啦~
内容的提问来源于stack exchange,提问作者KvinT
相关产品推荐
相关产品推荐

