2012-02-07 62 views
0

我將EMP表和以下值現在MySQL查詢研究天

Emp_Id Emp_Name Subject  Dates 
001  Smith  Java   07-02-2012 
001  Smith  oracle  08-02-2012 
001  smith  C++   10-02-2012 
002  john  java   01-01-2012 
002  john  SE   10-01-2012 
002  john  c   10-01-2012 
001  smith  physics  04-01-2012 
001  smith  c#   07-02-2012 
001  smith  javascript 07-02-2012 

,因爲我們可以在這裏看到史密斯只研究了3個月月供月月 日和1,而約翰研究了一月只有2天。

我們如何計算任何員工的這一計數? 作爲一個例子:輸出應按照以下方式進行。

Emp_Id Emp_Name Month_Year No_Of_Days_Studied_In_Month 
001  smith  Feb12     3 
001  smith  Jan12     1 
002  john  Jan12     2 

回答

1

您可以GROUP BY YEAR(Dates), MONTH(Dates),做一個COUNT

TRY:

SELECT emp_id, 
     emp_name, 
     Date_format(DATE, '%b%y') AS dates, 
     COUNT(*) AS No_Of_Days_Studied_In_Month 
FROM emp 
GROUP BY Date_format(DATE, '%b%y'), emp_name 
ORDER BY emp.emp_id 
+0

我嘗試過,但它不是給我適當的計數 – Java 2012-02-07 06:54:03

+0

請出示您的SQL嘗試。 – xdazz 2012-02-07 06:55:12

+0

SELECT Emp.Emp_Name,COUNT(Emp.date),DATE_FORMAT(Emp.date,'%b%y')AS日期 FROM Emp GROUP BY DATE_FORMAT(Emp.date,'%b'),Emp.Emp_Name 如果我們有同一天的記錄數,則此查詢會給出錯誤的輸出。 Plz查看我更新的Emp表值。 – Java 2012-02-07 09:20:38