gpt4 book ai didi

mysql - 使用 "order by"时,我在MySQL中选择的数据没有顺序

转载 作者:行者123 更新时间:2023-12-01 00:37:37 26 4
gpt4 key购买 nike

   SELECT candidate_num FROM candidate ORDER BY candidate_num 

上面查询的结果是: enter image description here

我们可以看到 candidate_num 不按顺序排列。下面是这个表的结构。我不明白为什么“2”在“19”之后。

CREATE TABLE `candidate` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`candidate_num` varchar(10) NOT NULL,
`name` varchar(50) NOT NULL,
`age` int(3) NOT NULL,
`major` varchar(50) NOT NULL,
`company` varchar(50) NOT NULL,
`department` varchar(50) NOT NULL,
`native_place` varchar(50) NOT NULL,
`ethnicity` varchar(50) NOT NULL,
`highest_education` varchar(50) NOT NULL,
`group` varchar(50) DEFAULT NULL,
`is_elected` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `candidate_num` (`candidate_num`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8;

最佳答案

这里的“candidate_num”是一个字符串(varchar 字段),所以它是按词法排序的。如果是这样,您可以通过以下方式订购:

SELECT `candidate_num` FROM `candidate` ORDER BY convert(`candidate_num`, decimal) ASC;

注意:对于 varchar 它按词法顺序对数据进行排序,即首先将具有 1 的值放在第一位,然后是具有 2< 的值 第二名等等。

关于mysql - 使用 "order by"时,我在MySQL中选择的数据没有顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44105171/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com