【发布时间】:2021-10-05 21:19:22
【问题描述】:
假设我有一张桌子,下面是示例
Member ID | Hotel ID | Country |
----------- ----------- ----------
100 ZZA Country 1
101 ZZA Country 2
102 ZZB Country 2
103 ZZC Country 3
201 XXD Country 4
202 XXE Country 1
203 AAB Country 1
我需要根据不同的规则输出不同国家的会员数量:
- 规则 1:酒店 ID 以 XX 或 AA 开头的国家/地区的成员数量。
- 规则 2:成员 ID 以 10 开头的国家/地区的成员计数。
我可以编写 2 个不同的查询来得到这样的输出:
Rule 1
Country | Member Count
--------- ----------
Country 4 1
Country 1 2
Rule 2
Country | Member Count
--------- ----------
Country 2 2
Country 1 1
Country 3 1
有没有办法在不同的列中有 1 个查询和 1 个输出?像这样:
Country | Rule 1 | Rule 2
-------- -------- --------
Country 1 2 1
Country 2 0 2
Country 3 0 1
Country 4 1 0
我正在使用 DB Browser for SQLite,在其中创建了一个表并导入了我正在处理的 CSV 文件。我知道我可以为此使用数据透视表,但它太慢了。
【问题讨论】:
-
只使用“右外连接”?
-
我对 1 个表有 2 个单独的查询。我想要 1 个查询结合 2 个输出。
标签: sql sqlite group-by count conditional-aggregation