2013-07-21 44 views
1

問題是在1995年和1996年有多少次採訪。您必須使用IN關鍵字進行比較。還有一個名爲YEAR()的函數,它將返回日期的年份部分。如何限制/刪除一些符合條件的記錄? (正確的語法)

表:

mysql> SELECT interviewdate "Date" 
    -> FROM interview;  

+------------+ 
| Date  | 
+------------+ 
| 1995-06-01 | 
| 1995-06-01 | 
| 1995-06-30 | 
| 1995-06-30 | 
| 1995-07-01 | 
| 1995-08-01 | 
| 1995-08-01 | 
| 1995-08-02 | 
| 1995-12-01 | 
| 1995-12-02 | 
| 1995-12-04 | 
| 1996-01-21 | 
| 1996-02-01 | 
| 1996-02-02 | 
| 1996-07-01 | 
| 1996-07-01 | 
| 1996-08-01 | 
| 1996-08-08 | 
| 1996-08-11 | 
| 1997-01-01 | 
| 1997-01-01 | 
| 1997-01-31 | 
| 1997-02-01 | 
| 1997-03-24 | 
| 1997-03-31 | 
| 1997-04-20 | 
| 1997-04-22 | 
| 1997-05-01 | 
+------------+ 
28 rows in set (0.00 sec) 

OUTPUT:

的條件是隻算那些1995年和1996年的日期到一個新的表作爲 「COUNT(*)」。有誰知道如何做到這一點?我是mySQL的新手,並試圖理解語法。我想是這樣的:

SELECT interviewdate, COUNT(interviewdate) AS "COUNT(*)" 
FROM interview 
GROUP BY interviewdate 
HAVING COUNT(interviewdate) == 1995 AND 1996; 


+----------+ 
| COUNT(*) | 
+----------+ 
|  19 | 
+----------+ 
1 row in set (0.00 sec) 

回答

0

這應該工作:

select count(*) 
from interview 
where year(interviewdate) in (1995,1996) 

如果你需要插入的結果s放入新表格中,然後使用create table as - more fiddle

+0

當我看它時,它總是有意義的。像魅力一樣工作,謝謝! – TheAmazingKnight

+0

@TheAmazingKnight - np,很高興它有幫助。乾杯! – user2480596

0

嘗試:

SELECT COUNT(*) AS number FROM interview WHERE (interviewdate > 1995-12-31 AND interviewdate < 1997-01-01) 
+0

數字仍然是0,不是19. – TheAmazingKnight

相關問題