我有一个包含3列x,y,z的表,这些行包含数据。有时数据的值是重复的。
需要知道哪些数据是重复的以及计数。这个简化的示例只有几个数据值。
实际上,该表还有其他几列和一个主键,通常x,y,z中没有数据。查询将通过php调用。
表:
x y z
a
b
c
a d
a
a b a所需的MySQL查询结果:
Data Count
a 5
b 2
c 1
d 1如果有人能帮上忙,我将不胜感激。已经与此斗争了几个小时,但没有很快取得任何进展。
干杯,
彼得
发布于 2012-08-04 19:41:03
您可以使用此解决方案:
SELECT a.data,
COUNT(*) AS Count
FROM (
SELECT x AS data FROM tbl WHERE x IS NOT NULL UNION ALL
SELECT y FROM tbl WHERE y IS NOT NULL UNION ALL
SELECT z FROM tbl WHERE z IS NOT NULL
) a
GROUP BY a.data这会将所有三列中的值合并为一个,这样它就变成了一个简单的GROUP BY和COUNT。
https://stackoverflow.com/questions/11808347
复制相似问题