【发布时间】:2010-12-23 01:16:48
【问题描述】:
假设我有一个包含美国各个城市信息的数据库表。我的显示首先按州分组显示信息,然后按县分组,最后按城市分组,如下所示:
-
阿拉巴马州
- 奥托加县
- 城市 1
- 城市2
- 等
- 鲍德温县
- 城市 1
- 城市2
- 等
- 县等
-
阿拉斯加
- 阿拉斯加县 1
- 城市 1
- 阿拉斯加县 2
查询看起来像:
select * from myInfo order by state, county, city
一个新的问题是,所有包含名为“林肯”的城市的州都应首先对其州和县进行排序。没有名为林肯的城市的州将被订购。期望的结果是这样的:
-
内布拉斯加州
- 兰开斯特县
- 林肯
- 其他一些兰开斯特市
- 其他一些内布拉斯加州县
-
新墨西哥州
- 林肯县
- 林肯
- 其他城市
- 其他县
- 非林肯州
我可以在代码中进行这种复杂的排序,但我想知道在纯 sql 中实现有多么困难。生成的查询有多难?
【问题讨论】:
标签: mysql sql-order-by