0pt*_*1z3 5 mysql sql query-optimization
我想通过时间戳字段按降序排序SQL结果,最先输入最新的条目.但是,我有一些空白或包含零的行.如何将这些结果夹在未来和过去的行之间?这可以用CASE完成吗?
SELECT * FROM table ORDER BY when DESC
Run Code Online (Sandbox Code Playgroud)
编辑:感谢所有的回复.大家都知道,我选择了MySQL的IFNULL,即
SELECT * FROM table ORDER BY IFNULL(when,UNIX_TIMESTAMP()) DESC
Run Code Online (Sandbox Code Playgroud)
这是最简单的方法,如果包含NULL,则select查询将其替换为当前的unix时间.请注意,我更新了我的数据库并用NULL值替换了所有0.
SELECT * FROM TABLE IF(mytime is null, [sometime],mytime) ORDER BY ...
Run Code Online (Sandbox Code Playgroud)
不能 100% 确定“is null”是否是代码,但我已经做了类似的事情。