我知道这个话题已被讨论了数百万次,但我有一个奇怪的输出。我正在尝试完成一个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
答案 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;