我可以使用以下MySQL来计算每个元素出现的次数
SELECT COUNT(*) AS count
FROM example
GROUP BY example.value
问题是,由于GROUP BY语句,不会返回重复记录及其COUNT值。
IE我需要这个:
但我明白了:
有什么想法可以做到这一点?我正在考虑某种联接,但我无法弄清楚将表格与自身进行比较的正确方法
答案 0 :(得分:2)
您可以使用JOIN
:
select a.*, b.cnt
from example a
join (
select value, count(*) cnt
from example
group by value
) b on a.value = b.value;
答案 1 :(得分:2)
SELECT e.value, t.count
FROM example e
LEFT JOIN (SELECT value, COUNT(*) AS count
FROM example
GROUP BY example.value) t
ON e.value = t.value;