我有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 现在我们可以看到,smith对于月份2月只学习了3天,对于月份Jan只学习了1天,而john对于月份1月份只学习了2天。
我们如何计算任何员工的此计数?作为一个e.g:Output,应该是这样的。
Emp_Id Emp_Name Month_Year No_Of_Days_Studied_In_Month
001 smith Feb12 3
001 smith Jan12 1
002 john Jan12 2发布于 2012-02-07 14:32:04
您可以使用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_idhttps://stackoverflow.com/questions/9171807
复制相似问题