mysql - 跨列和行计算值的实例

标签 mysql

我正在尝试计算某个特定值在表中出现的实例数。例如:

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

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

最佳答案

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


关于mysql - 跨列和行计算值的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58865941/

相关文章:

使用参数和查询的 MySQL 存储过程

php - 比较 MYSQL 密码与 HTML 表单密码

mysql - 不使用 TCP/IP 端口连接到 MYSQL 数据库

MySQL ENUM 列类型

php - SELECT COUNT 包含日期和类型

php - 在 mySQL 中计算每天和每小时的结果

MySQL存储大量小数位

php - 上传到Mysql数据库时出错

mysql - 从 Filemaker 导出到 MySQL...2014 年

php - 无法从 mysql 中的表中循环抛出类别