我有表 「對象」:MySQL的COUNT與group by或不同
id (int)
name (varchar)
group_id (varchar) default null
我做一些刀片:
insert into objects values
(null, 'Cat', null),
(null, 'Dog', null),
(null, 'Mouse', 'AAA'),
(null, 'Eagle', 'BBB'),
(null, 'Elephant', null),
(null, ' Bull', 'AAA');
我需要計數行的總數。但是,group_id爲「AAA」的兩行應合併爲一行。 在上面的例子中,「count」應該返回「5」。這是因爲:
- 有3行與激磁NULL值 「GROUP_ID」
- 有1個與GROUP_ID 「BBB」 的行的 「occurence」
- 有1行的 「occurence」與group_id「AAA」
用group_id做一個計數似乎不是解決方案,因爲它返回3行,併爲每行提供一個計數。我只需要行數的總數。
使用DISTINCT似乎也沒有幫助。查詢:
select count(distinct(group_id)) from objects;
返回一行與值 「2」
怎麼ID可以爲空?那不應該是null –
@bluto它是一個自動遞增整數 – Strawberry