mysql - 表中具有相同值的其他行的计数

标签 mysql sql

所以我对 mySQL 有点陌生,可以弄清楚如何做到这一点。我有一张表格,其中包含 worker 、他们工作的建筑物以及他们工作的办公室。

我正在尝试进行查询,该查询将返回此表,其中包含一个额外的列,说明有多少人在同一个房间工作。所以在这个例子中,Paul 和 Tim 都在 xxx1 工作,所以列会显示 2,但对于 John,它会显示 1,他是那个房间里唯一的人。

| worker | office building   | room number     |
------------------------------------------------
| john   | xxx               | 0               | 
| paul   | xxx               | 1               |
| tim    | xxx               | 1               |
| Dave   | yyy               | 0               |    
| Ty     | yyy               | 1               |    
| Luke   | yyy               | 1               |

最佳答案

试试这个:

SELECT t1.*,
  (SELECT COUNT(1)
  FROM mytable t2
  WHERE t2.`room number` = t1.`room number`
  )
FROM mytable t1

我建议你不要使用带空格的字段名,使用下划线代替空格。

关于mysql - 表中具有相同值的其他行的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22391452/

相关文章:

Mysql 5.7 st_distance_sphere 每次返回null

php - 非静态方法 PDO::quote() 不能静态调用,

php - 通过 PHP 从 mySQL 将列中的不同值获取到数组中的问题

MySQL Concat 和 GROUP BY

php - 使用 php 和 mysqli 有多少行包含特定值

mysql - 列出一列中不相同的值的 SQL 查询

mysql - 删除重复行,没有唯一键 - 关系表

sql - 在所有行上显示 SQL AVG 函数值

mysql - Sql,按组获取所有可能的最小值

mysql - 在 MySQL 8 中重置 root 密码