回答

收藏

ORDER BY条件

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

我想检索一个有序的查询结果,但是我需要在列表的前面有一些特定的行。类似于“堆栈溢出”中的内容,在答案列表中,正确的答案始终是第一个答案。. q. n/ z- w( {' b. p
假设我需要ID以1、2、3行为标题,其余按日期字段排序,能否执行以下操作:7 I: o, b8 u- n& p. f- l% I! R6 h
SELECT * FROM foo ORDER BY id IN created_date如果没有,哪个更有效率?将有很多行!' v: U) D2 q5 a
SELECT *,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或者
0 U# S% d6 ~) uSELECT *,IF(id IN AS headORDER BY head,created_date(我现在使用MySQL,但是我对别的SQL对解决方案感兴趣。; P. E4 d6 c+ b6 b3 ^0 a
                                                                ) W) t) b  A: }8 K1 B( u
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则