我的桌子:

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`

09-25 22:03