1

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

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

我想说有 2-40s、3-36s 和 4-0s。我能够单独为每一列执行此操作,但遇到的问题是 ID 彼此偏移时。

4

1 回答 1

4

您还没有真正说出结果是什么样的,但一种简单的方法是使用 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


于 2019-11-14T20:26:13.050 回答