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句は結果に行が1つしかないことを意味するときにGROUP BY句を追加する必要があることを奇妙に感じますが、パーサーはそれを知らないので、それを満たすために追加します。