这是我现在的代码:
SELECT id, number
FROM Media
WHERE user = 10
ORDER BY id, number
Run Code Online (Sandbox Code Playgroud)
但我希望它看起来像:
SELECT id, number
FROM Media
WHERE user = 10
ORDER BY while(number IS NULL), id
Run Code Online (Sandbox Code Playgroud)
我想要做的是将所有number这些都NULL放在结果的顶部,但是尽快number不是NULL,排序依据id
那可能吗?
我用的是mysql.
Pas*_*TIN 20
这样的事情怎么样:
SELECT id, number
FROM Media
WHERE user = 10
ORDER BY (case when number is null then 0 else 1 end), id
Run Code Online (Sandbox Code Playgroud)
如果number为NULL,则按条件的第一个顺序将为0; else 1
这意味着每行将编号为NULL的行将在其他行之前
请注意,无论如何,ids也会被排序.
你会得到这样的东西: