假设我有下面的表“geo”
| 国家/地区|省份|城市名称|
| - -|- -|- -|
| 荷兰Name|德伦特|阿森|
| 荷兰Name|德伦特|科沃登|
| 荷兰Name|德伦特|埃门|
| 荷兰Name|弗莱沃兰|比丁惠岑|
| 荷兰Name|弗莱沃兰|比丁惠岑|
| 荷兰Name|弗莱沃兰|比丁惠岑|
| 荷兰Name|弗莱沃兰|比丁惠岑|
| 比利时Name|安特卫普|安特卫普|
| 比利时Name|安特卫普|阿尔采拉尔|
| 比利时Name|安特卫普|动臂|
我想查询以下输出(返回不同的县+省+国家在表中看到的次数)
| 国家/地区|省份|计数|
| - -|- -|- -|
| 荷兰Name|德伦特|2个|
| 荷兰Name|弗莱沃兰|2个|
| 比利时Name|安特卫普|一个|
这样我就能分两步做好
1.查询国家和省份
select country, province from geo
group by country, province
但我不明白如何才能从步骤1转到所需结果
有可能一步做好吗?
2条答案
按热度按时间7cwmlq891#
一个通用的选项是使用
DISTINCT
运算符对国家/地区的相同省份进行聚合,然后对国家/地区应用具有部分分区的COUNT窗口函数。这是MySQL中的demo,尽管它应该在大多数DBMS上工作。
wj8zmpe12#
您可能更喜欢简单(按照PM 77-1)