2013-05-05 39 views
0

比方說,我們有這個表:SQL COUNT

STUDENT | START | END 
1  |1998-1-1 |2001-1-1 
2  |1999-1-1 |2001-1-1 
3  |2000-1-1 |2004-1-1 
4  |2000-1-1 | NULL 

我試圖做的是:開始和結束日期間的學生

計數!

+0

你是什麼意思「之間」日期?你的意思是一個給定的日期是在開始和結束之間,還是給定的日期範圍「重疊」開始和結束?或者是其他東西? – Bohemian 2013-05-05 12:15:40

+0

我希望sql能夠計算在日期之間開始的學生,並計算在日期之間結束學習的學生。 – user2351804 2013-05-05 13:03:22

回答

0

看起來,你需要使用一個基本COUNT合計:

SELECT COUNT(Student) 
FROM YourTable 
WHERE Start >= @Start 
    AND End <= @End 

我用> =和< =分別圍繞着開始和結束日期字段。根據需要隨時更改爲>或<。從你的問題來看,你是不是想要在特定的領域之間,還是在檢查這兩個領域之間的距離。

1

使用操作

之間可以用文本中使用,以便插入其中的值是日期,之間和COUNT聚合函數

SELECT COUNT(student) column_name(s) 
FROM table_name 
WHERE column_name 
BETWEEN value1 AND value2 

在這裏閱讀更多,如果你還是不明白

編輯:這應該工作,對錯誤抱歉

http://www.w3schools.com/sql/sql_between.asp

+0

OP希望「計算開始和結束日期之間的學生數量」。你的答案只是返回一組行。 – Yaroslav 2013-05-05 12:08:48

+0

編輯應該修復 – Sim 2013-05-05 12:11:28