【问题标题】:How to group duplicated rows and count them?如何对重复的行进行分组并计算它们?
【发布时间】:2019-02-17 19:38:11
【问题描述】:

我的桌子:

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() 在速度方面要好得多。

【问题讨论】:

    标签: mysql sql pdo count


    【解决方案1】:

    你可以使用 couct(distinct item_id)

        SELECT count(distinct item_id) 
        FROM `myTable` 
    

    【讨论】:

      猜你喜欢
      • 2020-10-24
      • 2018-08-08
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多