我的桌子:
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();
如您所见,我有两个
item_id = 5
的重复行,我想对这些重复行进行分组,并按计数输出3
行,但是当我这样做时,它输出echo $countWeek
行,为什么?当我将上述sql更改为:
$countWeek = $conn->query("SELECT item_id FROM `myTable` GROUP BY `item_id`")->rowCount();
它返回正确的值,但我不想使用
1
,因为我只需要计算行数,rowCount()
和fetchColumn()
在速度方面要好得多。 最佳答案
您可以使用CONCT(不同的项目id)
SELECT count(distinct item_id)
FROM `myTable`