我有以下值的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

最佳答案

您可以GROUP BY YEAR(Dates), MONTH(Dates)并执行COUNT

尝试:

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

关于mysql - MySQL查询学习天数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9171807/

10-11 02:27
查看更多