繁体   English   中英

SQL-查询以获取表中的记录总数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM