选择MySQL结果集中的第一个结果

选择MySQL结果集中的第一个结果,mysql,activerecord,Mysql,Activerecord,我正在提取一个县列表,需要能够根据url指定结果集中的第一个县。其余的县可以按任何顺序排列。我事先不知道县ID,我只知道他们在一个特定的州。例如: 新泽西州/县/卑尔根 应该停下来 卑尔根 帕塞克 埃塞克斯 莫里斯 苏塞克斯 哈德逊 联合 等 新泽西州/县/莫里斯 应该停下来 莫里斯 帕塞克 埃塞克斯 卑尔根 苏塞克斯 哈德逊 联合 等 依此类推。编辑2删除了以前的答案,因为它们没有什么价值 已调试的查询: SELECT * from counties ORDER BY county like

我正在提取一个县列表,需要能够根据url指定结果集中的第一个县。其余的县可以按任何顺序排列。我事先不知道县ID,我只知道他们在一个特定的州。例如:

新泽西州/县/卑尔根

应该停下来

卑尔根

帕塞克

埃塞克斯

莫里斯

苏塞克斯

哈德逊

联合


新泽西州/县/莫里斯

应该停下来

莫里斯

帕塞克

埃塞克斯

卑尔根

苏塞克斯

哈德逊

联合


依此类推。

编辑2删除了以前的答案,因为它们没有什么价值

已调试的查询:

SELECT * from counties ORDER BY county like 'Essex' DESC, county ASC
原因:类似于“Essex”的
县计算结果为真/假,或者更具体地说:1或0。我按降序排序,匹配项(1)位于顶部,不匹配项(0)位于底部。第二个orderby字段只确保列表的其余部分按字母顺序排列

SQL Fiddle:

为了子孙后代,我使用了以下表格:

CREATE TABLE counties 
(
 id int auto_increment primary key, 
 county varchar(20)
);

INSERT INTO counties
(county)
VALUES
('Bergen'),('Passaic'),('Essex'),('Morris'),('Sussex'),('Hudson');

编辑2删除了以前的答案,因为它们没有什么价值

已调试的查询:

SELECT * from counties ORDER BY county like 'Essex' DESC, county ASC
原因:类似于“Essex”的
县计算结果为真/假,或者更具体地说:1或0。我按降序排序,匹配项(1)位于顶部,不匹配项(0)位于底部。第二个orderby字段只确保列表的其余部分按字母顺序排列

SQL Fiddle:

为了子孙后代,我使用了以下表格:

CREATE TABLE counties 
(
 id int auto_increment primary key, 
 county varchar(20)
);

INSERT INTO counties
(county)
VALUES
('Bergen'),('Passaic'),('Essex'),('Morris'),('Sussex'),('Hudson');

请看。同意@johncode-更多细节,你尝试过的会得到更好的答案。对不起,我唯一尝试的是两个独立的查询。我曾考虑过使用按字段排序,但我不认为我可以像按字段排序(county,Bergen,%)%这样做一个“通配符”,意思是所有其他的。修改后的答案现在对你有用吗?请看。同意@johncode-更多细节,你尝试过的会得到更好的答案。对不起,我唯一尝试的是两个独立的查询。我曾考虑过使用按字段排序,但我不认为我可以像按字段排序(county,Bergen,%)%这样做一个“通配符”,意思是所有其他的。修改后的答案现在对你有用吗?