mysql - SQL 查询不工作。 Count 也应该返回零。但即使在外部加入后也不工作

标签 mysql sql-server

我在寻找这个小问题的解决方案时遇到了一些麻烦。我想得到团队的数量,我也需要零计数。如果我不提及特定的团队,这是有效的。但是当查询变得复杂时无法工作。

SELECT teams.name, COUNT(checkins.team_id) AS "count of checkins"
FROM checkins 
  RIGHT JOIN teams ON checkins.team_id = teams.id
GROUP BY checkins.team_id

这样修改后就失效了

SELECT teams.name, COUNT(checkins.team_id) AS "count of checkins"
FROM checkins 
  RIGHT JOIN teams ON checkins.team_id = teams.id
  WHERE checkins.team_id IN (1,3,2)
GROUP BY checkins.team_id

最佳答案

你可以试试这个:

SELECT teams.name, COUNT(checkins.team_id) AS "count of checkins"
FROM checkins 
  RIGHT JOIN teams ON checkins.team_id = teams.id
  WHERE (checkins.team_id IN (1,3,2) OR checkins.team_id IS NULL )
GROUP BY checkins.team_id

关于mysql - SQL 查询不工作。 Count 也应该返回零。但即使在外部加入后也不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45417066/

相关文章:

mysql - max_allowed_pa​​cket 正在重置为 1024,因为某些未知应用程序

php - 当我在 Laravel 中运行事务时,具有 InnoDB 的 MySQL 实例是否会锁定行?

sql-server - 访问 INFORMATION_SCHEMA 需要什么权限?

sql-server - SQL Server 错误错误代码 0xC0208449

sql - 从表中插入或更新

sql-server - 仅使用 TLS 1.2 时,SQL Server 无法连接到 InstallShield 安装程序

python - 引用pymysql中的记录来搜索一下

mysql - 获取当月生日的销售人员的平均销售额

mysql - 使用 sidekiq 扩展 ruby​​ 脚本以将数据存储在 MySQL 中?

sql-server - 在哪里可以找到列数据类型的 Sql Server 元数据?