我正在学习SQL,并且对应该是一个简单的查询感到难过.我有一个具有以下模式的表:
Id | Type
------------
1 | Red
2 | Blue
3 | Blue
4 | Red
..
Run Code Online (Sandbox Code Playgroud)
我想编写一个查询来返回一个表,该表计算每种类型的实例总数,并返回一个具有以下模式的表,例如,如果"蓝色"出现在12行中,则"红色"出现在16行中在上表中,结果将是:
Blue | Red
-----------
12 | 16
Run Code Online (Sandbox Code Playgroud)
Wil*_*ill 36
你可以这样做:
SELECT Type, COUNT(*) FROM TABLE GROUP BY Type
Run Code Online (Sandbox Code Playgroud)
如果您希望在单独的列中看到类型,则可以执行以下操作:
SELECT SUM(CASE WHEN Type = 'Blue' THEN 1 ELSE 0 END) AS Blue, SUM(CASE WHEN Type = 'Red' THEN 1 ELSE 0 END) AS Red FROM TABLE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31968 次 |
| 最近记录: |