【问题标题】:MySQL - 3 columns of data. Need Count of data common to all 3 columns, and the data itselfMySQL - 3 列数据。需要所有 3 列共有的数据计数,以及数据本身
【发布时间】:2012-08-04 19:46:32
【问题描述】:

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

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

干杯,

彼得

【问题讨论】:

  • 我认为你能做到这一点的唯一方法是遍历表结果并计算关联数组中的内容,并将值作为键。

标签: php mysql


【解决方案1】:

你可以使用这个解决方案:

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 BYCOUNT

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-01
    • 2013-07-03
    • 2019-10-26
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    相关资源
    最近更新 更多