sql - 查询将计算文本值并返回具有最低计数值(min)的行?
问题描述
想知道是否有人可以协助进行此查询,我需要编写一个查询来计算商店,基于该州位置,然后显示该国家/地区计数最低的州位置。每个国家代码只能代表一次。
这就是我到目前为止所拥有的:-
select
CountryRegionCode]
, [StateProvinceCode]
, COUNT(PSP.StateProvinceID) as [No. of Stores]
from [Sales].[Store] as SS
inner join [Person].[BusinessEntityAddress] as PBEA on SS.BusinessEntityID = PBEA.BusinessEntityID
inner join [Person].[Address] as PA on PBEA.AddressID = PA.AddressID
inner join [Person].[StateProvince] as PSP on PA.StateProvinceID = PSP.StateProvinceID
group by
CountryRegionCode
,StateProvinceCode
having
count(PSP.StateProvinceID) =
(select min(a.cnt)
from (select count(PSP.StateProvinceID) as cnt from [Sales].[Store] as SS2
inner join [Person].[BusinessEntityAddress] as PBEA2 on SS2.BusinessEntityID = PBEA2.BusinessEntityID
inner join [Person].[Address] as PA2 on PBEA2.AddressID = PA2.AddressID
inner join [Person].[StateProvince] as PSP2 on pa2.StateProvinceID = PSP2.StateProvinceID
group by
CountryRegionCode) as a)
order by CountryRegionCode
我已附加当前输出,如何限制输出仅显示以黄色突出显示的行?例如,每个国家/地区商店数量最少的州。
(我不允许使用 top 子句)
提前致谢
解决方案
使用窗口函数:
select cs.*
from (select CountryRegionCode, StateProvinceCode,
count(*) as num_stores,
rank() over (partition by CountryRegionCode order by count(*) desc) as seqnum
from [Sales].[Store] ss join
[Person].[BusinessEntityAddress] pbea
pbeaon ss.BusinessEntityID = pbea.BusinessEntityID inner join
[Person].[Address] pa
on pbea.AddressID = pa.AddressID inner join
[Person].[StateProvince] psp
on pa.StateProvinceID = psp.StateProvinceID
group by CountryRegionCode, StateProvinceCode
) cs
where seqnum = 1;
如果有关系,这将返回一个国家/地区内具有最大值的所有州。如果您只想要一个,请使用row_number()
而不是rank()
.
推荐阅读
- scala - 在 Spark 中创建 word2vec 模型,使用 scala 将多列作为输入和输出
- group-by - Bigquery 中的逻辑分组
- python - 一种热编码“得到了一个意外的关键字参数‘categorical_features’”
- java - 在java中总是得到相同的答案
- python - 如何在 Python 中的特定行之后仅获取单词第一次出现的行?
- google-cloud-platform - 无法连接谷歌云虚拟机
- git - 删除 git 中的最后一次提交后无法推送到 github
- c++ - 使用 nullptr 作为 std::unordered_map 的键有什么后果吗?
- php - laravel 子窗体。将数据提交到两个不同的表
- objective-c - 使用内容数组(旧版)布局时未调用 NSCollectionViewDelegate