gpt4 book ai didi

sql - Oracle Sql 查询 Group by Clause

转载 作者:行者123 更新时间:2023-12-02 07:42:08 25 4
gpt4 key购买 nike

MY_TABLE = 包含 2 列数字、城市的表格。
期望的输出 = 城市和与城市相关联的唯一数字的数量。西雅图,贝尔维尤是 Combined 的一部分。尽管有 4 个数字与西雅图相关联,但贝尔维尤输出为 3,因为只有 3 个不同的数字 - 123、456、786。

  MY_TABLE
Number City
123 Seattle
456 Bellevue
789 LosAngeles
780 LosAngeles
123 Bellevue
786 Bellevue

期望的输出:

Combined 3
LosAngeles 2

到目前为止的查询:

SELECT NUMBER, CITY FROM MY_TABLE WHERE LOOKUP_ID=100 AND CITY IN 
('Seattle', 'Bellevue', 'LosAngeles')
GROUP BY NUMBER, CITY

如果有人提供相同的建议,我们将不胜感激。

最佳答案

你可以做类似的事情

SELECT (case when city IN ('Seattle', 'Bellevue') 
then 'Combined'
else city
end) city,
count( distinct number )
FROM my_table
WHERE lookup_id = 100
AND city IN ('Seattle', 'Bellevue', 'LosAngeles')
GROUP BY (case when city IN ('Seattle', 'Bellevue')
then 'Combined'
else city
end)

当然,我的猜测是您有一些其他表可以告诉您需要组合哪些 CITY 值,而不是使用硬编码的 CASE 语句。

关于sql - Oracle Sql 查询 Group by Clause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9959873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com