我的桌子:
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更改为:
$countWeek = $conn->query("SELECT item_id FROM `myTable` GROUP BY `item_id`")->rowCount();
它返回正确的值,但我不想使用rowCount()
,因为我只需要计算行数和fetchColumn()
与count()
在速度方面要好得多。
你可以使用counct(distinct item_id)
SELECT count(distinct item_id)
FROM `myTable`