我有一个SQLite数据库,我有一个名为issue_id的列,我试图获取所有的issue_id并将它们合并,以便它返回唯一的issue_id,以及有多少个重复的issue_id。
这是我的数据库保存的数据的图像。
我正在尝试从该数组包含的数据中获取一个数组:
所有列和匹配的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 ?
上遇到错误。
答案 0 :(得分:1)
如果您希望以这种方式使用GROUP BY
聚合函数,则必须具有count
子句:
SELECT
issue_id,
count(issue_id) as issue_id_count
FROM
crashes
GROUP BY
issue_id