2015-07-21 52 views
-1

我想找到SQL查詢另一種方式

選擇沒有員工的加入對於年份和月份從員工表

我的查詢是:

select to_char(JOINING_DATE,'YYYY') As "Year", 
     to_char(JOINING_DATE,'MM') As "MOnth", 
     Count(First_name) 
    from employee 
group by to_char(JOINING_DATE,'YYYY'), 
      to_char(JOINING_DATE,'MM'); 

沒有錯誤,成功運行。

是否有任何替代方法獲得與此查詢相同的結果?

+0

替代怎麼樣,是不是慢的東西? –

+0

它有什麼問題?爲什麼要以不同的方式編寫查詢? – Max

+0

根據您的要求,您可以使用掩碼'yyyy-mm'調用to_char函數一次。 –

回答

0

,如果你只按年份和月份,您可以執行以下操作:

SELECT to_char(JOINING_DATE, 'MM-YYYY'), Count(First_name) 
FROM test_date 
GROUP BY to_char(JOINING_DATE, 'MM-YYYY') 
0

你可能要訂購的結果。我把年份和月份到同一列:

Select to_char(JOINING_DATE, 'YYYY-MM') As YYYYMM", Count(*) 
from employee 
group by to_char(JOINING_DATE, 'YYYY-MM') 
order by to_char(JOINING_DATE, 'YYYY-MM'); 
0

您可以簡化您的查詢了一下,嘗試:

SELECT YEAR(JOINING_DATE) As "Year", 
     MONTH(JOINING_DATE) As "Month", 
     Count(First_name) 
FROM employee 
GROUP BY Year, Month;