加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

初学者SQL题目:具有多个COUNT(*)功效的算术

发布时间:2021-05-16 13:13:57 所属栏目:编程 来源:网络整理
导读:继承行使Stack Exchange Data Explorer进修SQL的精力(拜见: Can we become our own “Northwind” for teaching SQL / databases?),我抉择实行编写一个查询来答复一个简朴的题目(关于元): What % of stackoverflow users have over 10,000 rep?. 这就是我所

继承行使Stack Exchange Data Explorer进修SQL的精力(拜见: Can we become our own “Northwind” for teaching SQL / databases?),我抉择实行编写一个查询来答复一个简朴的题目(关于元): What % of stackoverflow users have over 10,000 rep?.

这就是我所做的:

Query#1

SELECT COUNT(*)
FROM Users
WHERE
  Users.Reputation >= 10000

功效:

556

Query#2

SELECT COUNT(*)
FROM
  USERS

功效:

227691

此刻,我怎样将它们组合成一个查询?这个查询成语叫什么?我必要写什么,以是我可以获得一个像这样的一行三列功效:

556     227691      0,00244190592

办理要领

您可以行使 Common Table Expression (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

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读