我正在提取一系列县,并且需要能够根据网址指定哪一个将在结果集中排在第一位。剩余的县可以是任何顺序。我事先不知道县ids我只知道他们处于特定的状态。例如:
NJ /县/卑尔根
应该拉起来
卑尔根
帕塞伊克
埃塞克斯
莫里斯
萨塞克斯
哈德森
联盟
等
NJ /县/莫里斯
应该拉起来
莫里斯
帕塞伊克
埃塞克斯
卑尔根
萨塞克斯
哈德森
联盟
等
依旧等等。
答案 0 :(得分:1)
编辑2 删除了之前的答案,因为它们几乎没有增加价值。
调试查询:
SELECT * from counties ORDER BY county like 'Essex' DESC, county ASC
原因可行:county like 'Essex'
的计算结果为真/假或更具体:1或0.我将这些降序排序,匹配(1)将位于顶部,任何不匹配(0)在底部。第二个ORDER BY字段只是确保列表的其余部分按字母顺序排列。
SQL小提琴:http://sqlfiddle.com/#!2/a6a738/5
对于后代,这里是我使用的表:
CREATE TABLE counties
(
id int auto_increment primary key,
county varchar(20)
);
INSERT INTO counties
(county)
VALUES
('Bergen'),('Passaic'),('Essex'),('Morris'),('Sussex'),('Hudson');