我的桌子:
id | item_id
1 | 5
2 | 5
3 | 7
4 | 2
sql:
$countWeek = $conn->query("SELECT count(item_id) FROM `myTable` GROUP BY `item_id`")->fetchColumn();
如您所见,我有2个重复的行,其中item_id = 5
我想将这些重复的行分组并在计数上输出3
行,但是当我执行echo $countWeek
时它会输出{{ 1}},为什么?
当我将上述sql更改为:
1
它返回正确的值,但是我不想使用$countWeek = $conn->query("SELECT item_id FROM `myTable` GROUP BY `item_id`")->rowCount();
,因为我只需要计算行数,而rowCount()
中的fetchColumn()
在速度方面要好得多。
答案 0 :(得分:1)
您可以使用counct(distinct item_id)
SELECT count(distinct item_id)
FROM `myTable`