SELECT candidate_num FROM candidate ORDER BY candidate_num
我们可以看到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
的值放在第二位,依此类推。
问题内容: 我认为使用某种顺序才有意义。我想做的是在视图中包括该子句,以便该视图上的所有s都可以忽略它。但是,我担心该订单不一定会延续到,因为它没有指定订单。 是否存在一种情况,即视图指定的顺序不会反映在该视图上的select结果中(该视图中的order by子句除外)? 问题答案: 您不能指望没有显式子句的任何查询中的行顺序。如果查询有序视图,但没有包括子句,则如果它们的顺序正确,请感到惊喜,并
我有麻烦了。当我尝试从数据库中选择数据时,我看到错误NullPointerException。为了连接到数据库,我使用了单例模式。 此处为NullPointerException:
问题内容: 我将要有一个固定的项目清单,直到有一个随机化步骤,我才能运行查询直到执行该查询为止。 我想要以下内容: 假设is_launch_set将返回1,3,7,11,但已被随机分配到以下位置: 关于如何实现这一目标的任何想法?我在想也许是一个find_in_set,但不是很确定。 问题答案: 您可以使用以下任一方法来做到这一点: 要么 要么
我知道,当我不知道列名时,使用apply或不同的方法可以获得最小值。但是,我想知道dplyr mutate函数是否能够在没有已知列名的情况下做到这一点。 谢谢你,
问题内容: 我有类似的东西 如果我只是这样做,它将以ID升序返回行。有没有一种方法可以按照IN语句中给出的顺序取回行? 问题答案: 您应该使用“ ORDER BY FIELD”。因此,例如: