pol*_*nts 9 sql statistics count
继续使用Stack Exchange Data Explorer学习SQL的精神(参见:我们可以成为自己的"Northwind"用于教授SQL /数据库吗?),我决定尝试编写一个查询来回答一个简单的问题(在meta):什么%stackoverflow用户有超过10,000个代表?.
这就是我所做的:
SELECT COUNT(*)
FROM Users
WHERE
Users.Reputation >= 10000
Run Code Online (Sandbox Code Playgroud)
结果:
556
Run Code Online (Sandbox Code Playgroud)
SELECT COUNT(*)
FROM
USERS
Run Code Online (Sandbox Code Playgroud)
结果:
227691
Run Code Online (Sandbox Code Playgroud)
现在,我如何将它们组合成一个查询?这个查询成语叫什么?我需要写什么,所以我可以得到一个像这样的一行三列结果:
556 227691 0,00244190592
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 11
您可以使用公用表表达式(CTE):
WITH c1 AS (
SELECT COUNT(*) AS cnt
FROM Users
WHERE Users.Reputation >= 10000
), c2 AS (
SELECT COUNT(*) AS cnt
FROM Users
)
SELECT c1.cnt, c2.cnt, CAST(c1.cnt AS FLOAT) / c2.cnt
FROM c1, c2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4145 次 |
最近记录: |