我正在提取一个县列表,并且需要能够根据 url 指定哪个县将首先出现在结果集中。其余县可以按任何顺序排列。我事先不知道县ID,我只知道它们处于特定状态。例如:
新泽西州/县/卑尔根
应该拉起来
卑尔根
帕赛克
埃塞克斯
莫里斯
苏塞克斯
哈德逊
联盟
ETC
新泽西州/县/莫里斯
应该拉起来
莫里斯
帕赛克
埃塞克斯
卑尔根
苏塞克斯
哈德逊
联盟
ETC
等等等等。
我正在提取一个县列表,并且需要能够根据 url 指定哪个县将首先出现在结果集中。其余县可以按任何顺序排列。我事先不知道县ID,我只知道它们处于特定状态。例如:
新泽西州/县/卑尔根
应该拉起来
卑尔根
帕赛克
埃塞克斯
莫里斯
苏塞克斯
哈德逊
联盟
ETC
新泽西州/县/莫里斯
应该拉起来
莫里斯
帕赛克
埃塞克斯
卑尔根
苏塞克斯
哈德逊
联盟
ETC
等等等等。
编辑 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');