关于mysql进行升序排序时null排在后面

有表结构为:

CREATE TABLE `web_turnover_count` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `create_time` datetime DEFAULT NULL COMMENT '数据创建时间',
  `ranking_postion_now` varchar(256) DEFAULT NULL COMMENT '当前排行名次',
  `bonds_code` varchar(256) DEFAULT NULL COMMENT '代码',
  `bonds_name` varchar(256) DEFAULT NULL COMMENT '名字',
  `shares_code` varchar(256) DEFAULT NULL COMMENT '代码',
  `shares_name` varchar(256) DEFAULT NULL COMMENT '名字',
  `amount` varchar(256) DEFAULT NULL COMMENT '统计次数合计',
  `ranking_1st` varchar(256) DEFAULT NULL COMMENT '排第一名次数',
  `ranking_2nd` varchar(256) DEFAULT NULL COMMENT '排第2名次数',
  `ranking_3rd` varchar(256) DEFAULT NULL COMMENT '排第3名次数',
  `ranking_4th` varchar(256) DEFAULT NULL COMMENT '排第4名次数',
  `ranking_5th` varchar(256) DEFAULT NULL COMMENT '排第5名次数',
  `ranking_6th` varchar(256) DEFAULT NULL COMMENT '排第6名次数',
  `ranking_7th` varchar(256) DEFAULT NULL COMMENT '排第7名次数',
  `ranking_8th` varchar(256) DEFAULT NULL COMMENT '排第8名次数',
  `ranking_9th` varchar(256) DEFAULT NULL COMMENT '排第9名次数',
  `ranking_10th` varchar(256) DEFAULT NULL COMMENT '排第10名次数',
  PRIMARY KEY (`id`),
  KEY `ix_web_turnover_count_create_time` (`create_time`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

需要对 ranking_postion_now字段进行升序排序其中有部分为值为null,mysql的写法是

SELECT * FROM `web_turnover_count` ORDER BY FIELD(ranking_postion_now,0),CONVERT(ranking_postion_now,SIGNED),into_count desc

其结果为下图的排序 

 关于mysql进行升序排序时null排在后面_第1张图片

 

你可能感兴趣的:(mysql)