即使计数为0我也想要计数。我当前的查询是
SELECT `id`,count(0) as `fetchpc` FROM `user` WHERE pid in('4,6,7,8') GROUP BY `id`
但它只返回那些计数大于0的id
编辑: 用于 in('4,6,7,8') 的值首先在另一个查询中从数据库中获取。然后使用脚本将行转换为 4、6、7、8。
所以所有的值都存在于数据库中。
返回的值也有可能达到 100 多个值。
最佳答案
您可以将此查询加入到一个“虚构的”查询中,该查询以文字形式查询这些 ID:
SELECT ids.id, COALESCE(cnt, 0)
FROM (SELECT 4 AS id
UNION ALL
SELECT 6 AS id
UNION ALL
SELECT 7 AS id
UNION ALL
SELECT 8 AS id) ids
LEFT JOIN (SELECT id, COUNT(*) AS cnt
FROM fetchpc
GROUP BY id) t ON t.id = ids.id
关于mysql - 即使计数为 0,如何获取行?只有一张 table ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56925248/