计算mysql中的重复行

时间:2014-06-19 12:40:23

标签: php mysql sql select

我知道这个话题已被讨论了数百万次,但我有一个奇怪的输出。我正在尝试完成一个SQL查询将计算重复+非重复行数的工作。基本上我有下表:

ID 
865      
501     
501     
501
502
865
865

我的查询是

select id, count(*) as total from master_huts group by id

我得到了这个

ID     Name
0      (some weird number)
501    3
502    1
865    2

这很直接,但不确定我错在哪里。

表格结构

CREATE TABLE `master_huts` (
 `hutids` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1

3 个答案:

答案 0 :(得分:1)

只需在count中使用id而不是*

像这样......

select id, count(id) as total from whatever group by id

答案 1 :(得分:1)

执行以下操作:

select count(id) as ocurences, id from master_huts group by id

答案 2 :(得分:1)

尝试这个,看看你是否还有什么奇怪的事情:

select id, count(*) as total from master_huts where id != 0 group by id;