获取重复列数据及其自身数据的计数

时间:2018-12-07 23:34:43

标签: php sql mysqli

我有一个SQLite数据库,我有一个名为issue_id的列,我试图获取所有的issue_id并将它们合并,以便它返回唯一的issue_id,以及有多少个重复的issue_id。

enter image description here

这是我的数据库保存的数据的图像。

我正在尝试从该数组包含的数据中获取一个数组:

所有列和匹配的issue_id的计数。]

因此具有以下两个数组:

issue_id                           issue_id_count
38b6bb13b5aef92df2f5385e1952e7ff   3
555ec146b11c53fc3ea1ce0c139b915a   1

到目前为止我尝试过的是

SELECT
  issue_id,
  count(issue_id) as issue_id_count,
FROM
  crashes
WHERE
  issue_id = ?

并使用PHP

$sql = "SELECT FROM crashes WHERE issue_id = ? count(issue_id) as issue_id_count";
$res = $database->getConnection()->query($sql);
while ($tab = mysqli_fetch_assoc($res)) {
// handle data here
}

SQL无效,由于我对SQL的了解有限,因此我无法提供这些知识,谁能指出我做错了什么或如何实现我想做的事情?

到目前为止,我已经编辑过:

$sql = "SELECT count(issue_id) as issue_id_count FROM crashes WHERE issue_id = ? ";

$res = $database->getConnection()->query($sql);

if (!$res) die(mysqli_error($database->getConnection()));

while ($tab = mysqli_fetch_assoc($res)) {
    echo $var = $tab['issue_id_count'];
}

但是我在SQL ?上遇到错误。

1 个答案:

答案 0 :(得分:1)

如果您希望以这种方式使用GROUP BY聚合函数,则必须具有count子句:

SELECT
  issue_id,
  count(issue_id) as issue_id_count
FROM
  crashes
GROUP BY
  issue_id