计算列和行中值的实例

时间:2019-11-14 20:22:58

标签: mysql

我正在尝试计算表中存在特定值的实例数。例如:

   userID1  userID2  userID3
    40       36        0
    36       0         0
    36       40        0

我想可以说有2-40、3-36和4-0。 我能够为每个列分别做到这一点,我遇到的问题是ID相互偏移。

1 个答案:

答案 0 :(得分:3)

您还没有真正说出结果是什么,但是一个简单的方法是使用UNION将3列合为1,然后正常计数:


SELECT
  x.userid, count(*)
FROM
(
    SELECT userid1 as userID FROM table
    UNION ALL
    SELECT userid2 FROM table
    UNION ALL
    SELECT userid3 FROM table
) x
GROUP BY x.userid