初学者SQL问题:具有多个COUNT(*)结果的算术
发布时间:2021-05-16 07:44:19 所属栏目:MsSql教程 来源:网络整理
导读:继续使用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 (编辑:百科站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- W3C教程(7):W3C XSL 活动
- sql server 2012 FileTable有什么功能?
- sql-server – 每个实例或每个数据库的SQL排序规则?
- sql-server – 唯一索引,varchar列和(空格)空格的行为
- sql-server – 从未知来源恢复备份的安全隐患?
- sql-server – 如何将SQL Server 2005更改为区分大小写?
- sql-server – 无法在SQL Server 2012上运行的T-SQL CTE实现
- sql-server – 在Excel中的VBA中从SQL Server捕获错误消息
- html父子页面iframe双向发消息的实现示例
- Sql Server 视图数据的增删改查方法
站长推荐
热点阅读

