とカウント:MySQLの私は、このようなテーブルを持っている状態
+---------------+--------+-----------------+
| ReservationID | UserID | ReservationDate |
+---------------+--------+-----------------+
| 1 | 10002 | 04_04_2016 |
| 2 | 10003 | 04_04_2016 |
| 3 | 10003 | 07_04_2016 |
| 4 | 10002 | 04_04_2016 |
| 5 | 10002 | 04_04_2016 |
| 6 | 10002 | 06_04_2016 |
+---------------+--------+-----------------+
私は私のユーザーのそれぞれが持っているどのように多くの予約カウントするように、このクエリを使用します。
SELECT UserID, COUNT(UserID) as Times FROM mytable GROUP BY UserID ORDER BY Times DESC
をし、それが私にこの結果を与えます:
+--------+-------+
| UserID | Times |
+--------+-------+
| 10002 | 4 |
| 10003 | 2 |
+--------+-------+
しかし私は、ユーザーが特定の日付に複数の予約を持っている場合は1をカウントします。ユーザ10002は、2016年4月4日で3予約を持っているたとえば、それは数1である必要があり、私はこの結果を取得したい:
+--------+-------+
| UserID | Times |
+--------+-------+
| 10002 | 2 |
| 10003 | 2 |
+--------+-------+
は、どのように私はそれを得ることができることができますか?代わりにdistinct
と
おかげ
ユーザ10002は、2016年4月4日で3予約を持っている、それは数1でなければなりませんそれはReservationDate上の関係がなければならないこと – berkist34
@ berkist34 - 申し訳ありませんが、タイプが早すぎます。私はあなたが 'count(distinct reservationdate)'が必要だと思いますか? – sgeddes
それは働いた。ありがとう – berkist34