2013-01-08 61 views
0

我有SQL查詢返回一些工作人員去年的平均利用率。如何在SQL QUERY中計算WEEKENDS?

SELECT Name, AVG (hsum) 
FROM 
(
    SELECT Name,sum((number_hours)/8)*100 AS hsum 
    FROM 
    T1 
    WHERE name='PERSON_A' and bookeddate>='2012-01-01' and booked_date<='2012-12-31' 
    GROUP BY name,booked_date 
) t 

現在我想排除週末的預訂日期來計算?怎麼做?我用mysql 謝謝

+0

這是否幫助你嗎? http://stackoverflow.com/questions/1828948/mysql-function-to-find-the-number-of-working-days-between-two-dates – Cynical

回答

6

添加DAYOFWEEK()WHERE條款:

AND DAYOFWEEK(booked_date) <> 1 AND DAYOFWEEK(booked_date)<>7 
+0

即使這將起作用,我們總是生成一個表有工作日進入它,並在這樣的查詢中加入此表。它將解決美國假期和休假等問題。 – vittore

+0

@vittore他要求「排除週末」,而不是工作日。問題可能會更加困難,認爲在週末工作的人,銀行假期等等。 –