暂无图片
MySQL基础问题
我来答
分享
喔喔喔
2020-03-31
MySQL基础问题

IMG20200331113708.jpgIMG20200331113721.jpg

我本打算将最后一列排序,将空值设定为10,但是按照第一行语句执行下来空值没有参与排序,按照图片中第二行语句执行下来,空值=10,并参与了排序,想知道为什么?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
Cui Hulong

MySQL5.7.29能正常排序,是不是一下效果,最好把表结构也发出来。

CREATE TABLE `milk_tea` ( `id` int(11) NOT NULL, `in_price` decimal(10,1) DEFAULT NULL, `sale_price` decimal(10,1) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `milk_tea` VALUES (1,15.5,NULL),(2,2.1,2.5),(3,10.8,15.0),(4,9.3,15.0),(5,8.8,15.0),(6,12.3,20.0); mysql> select id,in_price,sale_price ,IFNULL(sale_price,10) from milk_tea; +----+----------+------------+-----------------------+ | id | in_price | sale_price | IFNULL(sale_price,10) | +----+----------+------------+-----------------------+ | 1 | 15.5 | NULL | 10.0 | | 2 | 2.1 | 2.5 | 2.5 | | 3 | 10.8 | 15.0 | 15.0 | | 4 | 9.3 | 15.0 | 15.0 | | 5 | 8.8 | 15.0 | 15.0 | | 6 | 12.3 | 20.0 | 20.0 | +----+----------+------------+-----------------------+ 6 rows in set (0.00 sec) mysql> select id,in_price,sale_price ,IFNULL(sale_price,10) from milk_tea order by IFNULL(sale_price,10) ; +----+----------+------------+-----------------------+ | id | in_price | sale_price | IFNULL(sale_price,10) | +----+----------+------------+-----------------------+ | 2 | 2.1 | 2.5 | 2.5 | | 1 | 15.5 | NULL | 10.0 | | 3 | 10.8 | 15.0 | 15.0 | | 4 | 9.3 | 15.0 | 15.0 | | 5 | 8.8 | 15.0 | 15.0 | | 6 | 12.3 | 20.0 | 20.0 | +----+----------+------------+-----------------------+
暂无图片 评论
暂无图片 有用 0
喔喔喔

106217c1d20a8c70.png
你好,这就是我排序用的表。

暂无图片 评论
暂无图片 有用 0
Cui Hulong

1.需要表结构create 创建命令。
show create table table_name;
2.数据库版本。
select version();
3.还有答复的那样的效果吗?

暂无图片 评论
暂无图片 有用 0

学习了

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏