2017-04-03 19 views
2

我有一个SQL查询下面。SELECT COUNT每个日期和类型SQL Server 2012

SELECT sched_date, sched_name, employee_name from tbl_schedule 

它返回这样的结果:

sched_date sched_name    employee_name 

    2017-04-01 09:00 AM - 06:00 PM  M.G.Cave 
    2017-04-01 09:00 AM - 06:00 PM  L.C.Manalo 
    2017-04-01 11:00 AM - 8:00 PM  R.M.Jakosalem 
    2017-04-01 11:00 AM - 8:00 PM  S.D.Dela Cruz 
    2017-04-02 Rest Day    M.G.Cave 
    2017-04-02 Rest Day    L.C.Manalo 
    2017-04-02 Rest Day    R.M.Jakosalem 
    2017-04-02 Rest Day    S.D.Dela Cruz 

我想每日期和按计划来进行计数的员工。我期望的结果是:

2017-04-01 09:00 AM - 06:00 PM  2 employees 
    2017-04-01 11:00 AM - 8:00 PM  2 employees 
    2017-04-02 Rest Day    4 employees 

在此先感谢您。

+2

你尝试过什么? –

+0

@Damien_The_Unbeliever是的,我尝试了几个查询,但它给了我一个错误,所以我不介意将它包含到这篇文章中。 – interkey

回答

2

一个GROUP BYsched_datesched_nameCOUNT(*)会得到你想要的结果:

SELECT 
    sched_date, 
    sched_name, 
    COUNT(*) AS employees 
from 
    tbl_schedule 
GROUP BY 
    sched_date, 
    sched_name 
+0

谢谢,先生!干杯! – interkey

1

试试下面的查询:

SELECT * 
FROM 
(
    SELECT sched_date, sched_name, COUNT(*) AS employees 
    FROM tbl_schedule 
    GROUP BY sched_date,sched_name 
) A