回答

收藏

ORDER BY条件

技术问答 技术问答 101 人阅读 | 0 人回复 | 2023-09-12

我想检索一个有序的查询结果,但是我需要在列表的前面有一些特定的行。类似于“堆栈溢出”中的内容,在答案列表中,正确的答案始终是第一个答案。1 |/ s% [1 D9 |& d2 I! |
假设我需要ID以1、2、3行为标题,其余按日期字段排序,能否执行以下操作:$ V# L- r) y. W4 v9 o
SELECT * FROM foo ORDER BY id IN created_date如果没有,哪个更有效率?将有很多行!
$ i1 f- U* K1 k5 G, p2 PSELECT *,0 AS head FROM foo WHERE id IN (1,2,3) UNIONSELECT *,1 AS head FROM foo WHERE id NOT IN (1,2,3)ORDER BY head,created_date或者
! [2 M8 o+ |- h5 aSELECT *,IF(id IN AS headORDER BY head,created_date(我现在使用MySQL,但是我对别的SQL对解决方案感兴趣。
5 E$ c3 m" \# }$ h2 m) ?                                                                3 {5 |6 z! ]! V$ T- j
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则