如何编写SQL查询来获取表的数据计数?

如何编写SQL查询来获取表的数据计数?

我有一张名为 FDR_DATA 的表。表中存在以下字段。字段有:B1_NAME、B2_NAME、B3_NAME、元素、DATUM、WERT。现在我想查询该表中的数据总数,并将生成以下输出。

sql> select count (*) from fdr_data where datum like (select sysdate -1 from dual);

(它只显示计数的数量)但我想打印计数旁边的数据(日期)字段。

DATUM COUNT
04.05.2016 899019

如何写下查询以获得这样的输出?

我已经尝试过,
sql> select DATUM, count (*) from fdr_data where datum like (select sysdate -1 from dual)
但无法获得所需的输出。

答案1

sql> select count (*) as fdr_data from fdr_data where datum like (select sysdate -1 from dual);

输出:

fdr_data    
-------- 
899019    

答案2

我不知道是否有任何 SQL 方言提供其他方法,但由于您没有说明您使用的 SQL 服务器,但这应该可行:

SELECT datum,count(*) FROM fdr_data WHERE datum LIKE (SELECT sysdate-1 FROM dual) GROUP BY datum;

当 WHERE 子句意味着结果中只有一行时,必须添加 GROUP BY 子句会感觉很奇怪,但解析器不会知道,因此我们添加它来满足这一点。

相关内容