繁体   English   中英

语法 HAVING COUNT(*) >1 在 SQL 中做了什么?

[英]What the syntax HAVING COUNT(*) >1 is doing in SQL?

我在一门在线课程中发现了这种语法。 我明白。 但它是如何工作的? 我不明白HAVING COUNT (*) > 1 这是否意味着在我的视图中计算表格的行数?

SELECT M1.title, m1.director
FROM       MOVIE as M1
INNER JOIN MOVIE as M2   ON M1.director = M2.director
GROUP BY m1.mID, m1.title, m1.director
HAVING COUNT(*) > 1
ORDER BY m1.director, m1.title;

因此,在您的示例中,它返回GROUP BY行数大于 1 的行。 注意大于不等于。

带有HAVING子句的GROUP BY检索指定组的结果,这些结果与HAVING子句中的条件匹配。

HAVING子句与COUNT()一起使用,而不是WHERE子句。

现在看下面的例子,我使用了简单的数据并命令它来帮助解释。

您有以下查询并正在申请表 TeamMember

SELECT FirstName,COUNT(*) 
FROM TeamMember 
GROUP BY FirstName
HAVING COUNT(*)>3

团队成员

+------------+----------------------+--------------------+
| StaffCode  | FirstName            | LastName           |
+------------+----------------------+--------------------+
| 2343       | Alex                 | Jones              |
| 7323       | Alex                 | Paker              |
| 5676       | Alex                 | York               |
| 6571       | Alex                 | Long               |
| 5325       | Paul                 | Thomas             |
| 5365       | Paul                 | Wanye              |
| 5345       | Paul                 | Large              |
| 3543       | Tom                  | Lee                |
| 2311       | Tom                  | Freeman            |
| 5434       | Zac                  | Rogers             |
+------------+----------------------+--------------------+

这就是添加原因时发生的情况。

添加GROUP BY FirstName

+----------------------+--------------------+
| FirstName            | COUNT(*)           |
+----------------------+--------------------+
| Alex                 | 4                  |
| Paul                 | 3                  |
| Tom                  | 2                  |
| Zac                  | 1                  |
+----------------------+--------------------+

现在添加HAVING COUNT(*)>3

+----------------------+--------------------+
| FirstName            | COUNT(*)           |
+----------------------+--------------------+
| Alex                 | 4                  |
+----------------------+--------------------+

如果需要,我已包含以下链接以供进一步参考。

更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM