mysql关于null值排序
结论:
+ order by colum asc 时,null默认被放在最前
+ order by colum desc 时,null默认被放在最后
+ ORDER BY IF(ISNULL(update_date),0,1) null被强制放在最前,不为null的按声明顺序[asc|desc]进行排序 -??
+ ORDER BY IF(ISNULL(update_date),1,0) null被强制放在最后,不为null的按声明顺序[asc|desc]进行排序- ??
mysql> select * from t_post;
+----+-----+------------+---------+---------------------+-------+
| id | tid | subject | message | dateline | count |
+----+-----+------------+---------+---------------------+-------+
| 1 | 1 | 你好吗 | 我不好 | 2017-12-20 09:12:20 | 10 |
| 2 | 1 | 你好吗 | 我不好 | 2017-12-04 11:49:19 | NULL |
| 3 | 1 | 你好吗 | 我不好 | 2017-12-20 09:12:22 | 20 |
| 4 | 2 | 今天天气好 | 好啊 | 2017-12-03 11:48:35 | NULL |
| 5 | 2 | 今天天气好 | 爽啊 | 2017-12-04 11:48:35 | NULL |
+----+-----+------------+---------+---------------------+-------+
5 rows in set
mysql> select * from t_post order by count asc;
+----+-----+------------+---------+---------------------+-------+
| id | tid | subject | message | dateline | count |
+----+-----+------------+---------+---------------------+-------+
| 2 | 1 | 你好吗 | 我不好 | 2017-12-04 11:49:19 | NULL |
| 4 | 2 | 今天天气好 | 好啊 | 2017-12-03 11:48:35 | NULL |
| 5 | 2 | 今天天气好 | 爽啊 | 2017-12-04 11:48:35 | NULL |
| 1 | 1 | 你好吗 | 我不好 | 2017-12-20 09:12:20 | 10 |
| 3 | 1 | 你好吗 | 我不好 | 2017-12-20 09:12:22 | 20 |
+----+-----+------------+---------+---------------------+-------+
5 rows in set
mysql> select * from t_post order by count desc;
+----+-----+------------+---------+---------------------+-------+
| id | tid | subject | message | dateline | count |
+----+-----+------------+---------+---------------------+-------+
| 3 | 1 | 你好吗 | 我不好 | 2017-12-20 09:12:22 | 20 |
| 1 | 1 | 你好吗 | 我不好 | 2017-12-20 09:12:20 | 10 |
| 2 | 1 | 你好吗 | 我不好 | 2017-12-04 11:49:19 | NULL |
| 4 | 2 | 今天天气好 | 好啊 | 2017-12-03 11:48:35 | NULL |
| 5 | 2 | 今天天气好 | 爽啊 | 2017-12-04 11:48:35 | NULL |
+----+-----+------------+---------+---------------------+-------+
5 rows in set