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)

出力:

条件は、日付が 1995 年と 1996 年のものだけを新しいテーブル AS "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)
4

2 に答える 2

0

これはうまくいくはずです:

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

結果を新しいテーブルに挿入する必要がある場合は、 --more fiddle を使用create table asます

于 2013-07-21T20:35:36.837 に答える
0

試す:

SELECT COUNT(*) AS number FROM interview WHERE (interviewdate > 1995-12-31 AND interviewdate < 1997-01-01)
于 2013-07-21T20:01:59.867 に答える