指望我有這樣的一個表: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 |
+--------+-------+
但是,如果我的用戶在特定日期有多個預留,我想計數一個。例如用戶10002有3個預訂2016年4月4日,這應該是算1.我想要得到這樣的結果:
+--------+-------+
| UserID | Times |
+--------+-------+
| 10002 | 2 |
| 10003 | 2 |
+--------+-------+
我怎樣才能得到?
感謝
用戶10002有3個預訂2016年4月4日,這應該是算1.這意味着應該對ReservationDate關係 – berkist34
@ berkist34 - 對不起,輸入得太快了。我認爲你需要'count(distinct reservationdate)'? – sgeddes
它工作。感謝 – berkist34