Mysql查询学习天数

时间:2012-02-07 06:14:42

标签: mysql sql date count

我有Emp表,其中包含以下值

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 

现在我们可以看到,史密斯在2月份只研究了3天,1月份研究了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 个答案:

答案 0 :(得分: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