我正在尝试确定图像数据库中至少贡献了五张图像的贡献者总数。以下查询将按贡献者提供图像计数,但这只是难题的一部分。我相信这对于比我有更多知识的人来说很简单:)
SELECT count(*) AS i_count,contributor_id FROM images GROUP BY contributor_id ORDER BY i_count DESC
要计算有多少贡献者贡献了 5 个或更多图像:
SELECT COUNT(*) AS number_of_contributors
FROM
( SELECT 1
FROM images
GROUP BY contributor_id
HAVING COUNT(*) >= 5
) AS t ;
Run Code Online (Sandbox Code Playgroud)
它可以在没有派生表的情况下编写,但它被混淆了:
SELECT COUNT(*) OVER () AS number_of_contributors
FROM images
GROUP BY contributor_id
HAVING COUNT(*) >= 5
LIMIT 1 ;
Run Code Online (Sandbox Code Playgroud)
(两个查询之间略有不同。如果没有提供 5 个以上图像的贡献者,则第一个查询将返回一行,并带有0
。第二个查询将不返回任何行。)
归档时间: |
|
查看次数: |
13207 次 |
最近记录: |