计算有多少行具有相同的值

问题描述 投票:60回答:7

如何编写SQL查询以计算表的num列中特定num值的总数。

例如选择num = 1的位置

结果:2

+-----+-----+
| NAME | NUM |
+=====+=====+
| SAM  |  1  | 
+-----+-----+
| BOB  |  1  |
+-----+-----+
| JAKE |  2  | 
+-----+-----+  
| JOHN |  4  | 
+-----+-----+
mysql sql
7个回答
96
投票

尝试

SELECT NAME, count(*) as NUM FROM tbl GROUP BY NAME

SQL FIDDLE


14
投票

如果你想获得NUM的所有值的结果:

SELECT `NUM`, COUNT(*) AS `count` 
FROM yourTable
GROUP BY `NUM`

或者仅针对一个特定的:

SELECT `NUM`, COUNT(*) AS `count` 
FROM yourTable
WHERE `NUM`=1

13
投票

对于特定数字:

SELECT COUNT(1) FROM YOUR_TABLE WHERE NUM = 1

对于所有NUM:

SELECT NUM, COUNT(1) FROM YOUR_TABLE GROUP BY NUM

7
投票
SELECT 
   COUNT(NUM) as 'result' 
FROM 
   Table1 
GROUP BY 
   NUM 
HAVING NUM = 1

3
投票

试试这个查询

select NUM, count(1) as count 
from tbl 
where num = 1
group by NUM
--having count(1) (You condition)

SQL FIDDLE


1
投票
SELECT sum(num) WHERE num = 1;

1
投票

SELECT SUM(IF(your_column=3,1,0)) FROM your_table WHERE your_where_contion='something';

例如为您查询: -

SELECT SUM(IF(num=1,1,0)) FROM your_table_name;

© www.soinside.com 2019 - 2024. All rights reserved.