仅当与索引匹配的行数满足特定数字时,我才想从 MySQL 表中返回行。
问题是:我有一个按用户名索引的用户评论表。因此,我有许多不同评论的行,所有评论都按用户名编入索引。我正在创建一个搜索过滤器,所以我需要返回拥有一定数量评论的人的用户名(即表格中的评论行数)。
我将如何创建一个 MySQL 查询,该查询只会提取人们说有 4 条评论(4 个表行条目)的用户名?
这听起来是一个简单GROUP BY和COUNT()使用汇聚HAVING子句限制那些有4条。
SELECT
username,
COUNT(*) AS num_reviews
FROM
user_reviews
GROUP BY username
/* Limit to those with 4 reviews */
HAVING num_reviews = 4
Run Code Online (Sandbox Code Playgroud)
查看聚合函数参考以获取有关如何GROUP BY使用的信息。该HAVING子句在 之后应用,GROUP BY用于限制其结果。
http://sqlfiddle.com/#!2/9dc86/1
| 归档时间: |
|
| 查看次数: |
3024 次 |
| 最近记录: |