我有这些疑问:
SELECT COUNT(*) FROM t_table WHERE color = 'YELLOW';
SELECT COUNT(*) FROM t_table WHERE color = 'BLUE';
SELECT COUNT(*) FROM t_table WHERE color = 'RED';
Run Code Online (Sandbox Code Playgroud)
有没有办法在一个查询中获得这些结果?
egg*_*yal 53
SELECT color, COUNT(*) FROM t_table GROUP BY color
Run Code Online (Sandbox Code Playgroud)
eis*_*erg 40
如果您希望结果在一行中,您可以使用:
SELECT
SUM(IF(color = 'YELLOW', 1, 0)) AS YELLOW,
SUM(IF(color = 'BLUE', 1, 0)) AS BLUE,
SUM(IF(color = 'RED', 1, 0)) AS RED
FROM t_table
Run Code Online (Sandbox Code Playgroud)
SELECT 'yellow' as color ,COUNT(*) FROM t_table WHERE color = 'YELLOW'
union
SELECT 'blue' , COUNT(*) FROM t_table WHERE color = 'BLUE'
union
SELECT 'red',COUNT(*) FROM t_table WHERE color = 'RED';
Run Code Online (Sandbox Code Playgroud)
要么
select color, count(*) from table where color in ('red', 'blue', 'yellow') group by 1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
73020 次 |
最近记录: |