我们有一个数据库叫做transaction。是的 user_id
, date
, value
等等。我在查询中也使用分页。我的表中有数千条用户id等于的记录 2
或其他价值。把用户id=2放在最后一页。我想对结果进行如下排序:
按日期对结果排序,但如果用户id=2,则将与用户id=2关联的所有结果放在末尾。更清楚地说,我向你展示了我在下面想要什么。
-------------------------------------
| ID | user_id | date | ......
-------------------------------------
| 1 | 10 | 2018-10-20 |
-------------------------------------
| 2 | 11 | 2018-10-21 |
-------------------------------------
| 3 | 2 | 2018-10-22 |
-------------------------------------
| 4 | 2 | 2018-10-23 |
结果必须是这样的:
第一个:id=2,第二个:id=1,第三个:id=4,最后一个:id=3
提示:我使用了字段函数,但不幸的是没有用。
ORDER BY FIELD(user_id, 2) DESC, date DESC
1条答案
按热度按时间wecizke31#
你可以尝试使用
CASE
你的表情ORDER BY
条款:我不确定你是想让每组按日期升序还是降序排序。如果需要升序日期顺序,请删除
DESC
关键字。