我有一张名为 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 子句会感觉很奇怪,但解析器不会知道,因此我们添加它来满足这一点。