[英]Sql - Query to get total number of records in table
我有这样的表在这里输入图像描述
我只需要获取年龄大于10 岁的数据, 就需要获取表中存在的记录总数。 即。 在此示例中,它是4条记录 。 我需要的是在单个查询中,我需要获取我查询的表和列中存在的记录总数。
查询会有点像
SELECT ID, NAME, count(TOTAL NUMBER OF RECORDS IN TABLE) as Count from MYTABLE WHERE AGE > 10
有什么想法吗?
您可以在FROM
子句中使用子查询:
SELECT ID, NAME, c.cnt as Count
FROM MYTABLE CROSS JOIN
(SELECT COUNT(*) as cnt FROM MYTABLE) c
WHERE AGE > 10 ;
这两个数据库都支持窗口函数,但是它们在这里并没有真正的帮助,因为计数的筛选方式与外部查询不同。 如果您确实要同时使用这两个过滤器,则可以在最新版本中执行以下操作:
SELECT ID, NAME, COUNT(*) OVER () as cnt
FROM MYTABLE
WHERE AGE > 10 ;
您可以在下面尝试-使用标量子查询
SELECT ID, NAME, age,(select count(*) from mytable WHERE AGE > 10) as Count
from MYTABLE
WHERE AGE > 10
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.