0

我有一个 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

如果有人可以提供帮助,将不胜感激。已经为此奋斗了几个小时,但进展不快。

干杯,

彼得

4

1 回答 1

5

您可以使用此解决方案:

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 BYand COUNT

于 2012-08-04T11:41:03.113 回答