我有一個Shipments
表,basicly包含日期,裝運數據是否有可能通過一個查詢中的不同條件來計數?
ID是integer
dateshipped是date
id dateshipped
1 1-JAN-16
2 1-JAN-16
3 3-FEB-16
4 9-FEB-16
我想編寫一個查詢其計算基於月的所有貨物。 我應該得到的是:
Jan Feb March....
2 2 0
我知道我可以通過使每個列的查詢做,只得到相關的行此特定月份,只是指望他們。
如下:
Select (Select count(*)
from Shipments
Where EXTRACT(YEAR FROM dateshipped)::int=2016 and EXTRACT(MONTH FROM dateshipped)::int=1)as JAN,
(Select count(*)
from Shipments
Where EXTRACT(YEAR FROM dateshipped)::int=2016 and EXTRACT(MONTH FROM dateshipped)::int=2)as FEB
這工作但其太多相同的代碼...
我wondring是否有可能與一個FROM
statment每做列獲得它自己的相關行計數。
喜歡的東西:
Select COL1,COL2,COL3...
from Shipments
Where EXTRACT(YEAR FROM dateshipped)::int=2016;
,並有類似:
COL1 = count only JAN records
COL2 = count only FEB records
....
也許有一些與Parations
上月或任何其他解決方案?
爲什麼你需要組通過 – java
你不需要'GROUP BY'。 –