count - 在 WHERE 语句中使用 JOIN 的 COUNT 结果
问题描述
我自学 SQL 既是为了娱乐又是为了换工作,所以这个查询很基本,但请告诉我......
我有这个工作正常的查询......
SELECT m.MatchID, COUNT (p.MatchId) AS 'PlayerMatchAdded'
FROM Matches AS m
LEFT JOIN PlayerMatch AS p ON p.MatchID = m.MatchID
WHERE Season = '2020/2021'
GROUP BY m.MatchID
ORDER BY m.Month DESC, m.Date DESC;
我只想显示 COUNT 结果为 0 的结果。\
编辑 - 一些进一步的研究让我明白我需要使用 HAVING 而不是 WHERE,任何关于如何重写它的建议都会很棒。
谢谢
解决方案
排序……
SELECT Matches.MatchID, COUNT (PlayerMatch.MatchId)
FROM Matches
LEFT JOIN PlayerMatch ON PlayerMatch.MatchID = Matches.MatchID
GROUP BY Matches.MatchID
HAVING Season = '2020/2021' AND COUNT (PlayerMatch.MatchId) = 0
ORDER BY Matches.Month DESC, Matches.Date DESC;
有没有更好的方法来写这个,这样我就可以避免过早形成坏习惯?
推荐阅读
- python - 数据输入期间的 Azure ML 时间序列模型推理错误(python)
- haskell - emacs haskell-mode 与 cabal 项目。“`--ghc-option=ferror-spans` 的目标语法无法识别。”
- ios - 如何根据带有日期的对象数组创建多个部分?
- python - 如何在logcat上查看python应用程序日志
- c# - Windows 服务给出错误 System.IO.DirectoryNotFoundException
- javascript - 以与 html 代码中相同格式的文本打印 Javascript 文本
- java - 如何从文本字段中删除焦点并将其设置在按钮上?
- html - XSLT 解析以获取特定结构
- django - 在 Django 中的 Heroku 上部署时,如何在本地存储环境变量而不必更改代码
- html - Angular - 动态加载包含角度标记的 html