配對,我會向您展示開始就是我的數據庫看起來像一些示例數據:MySQL的最大選擇最大值,但不正確的行
| id | type | id_user | date |
| 0 | 0 | 1 | 1 |
| 1 | 0 | 2 | 2 |
| 2 | 1 | 1 | 3 |
| 3 | 0 | 3 | 4 |
| 4 | 0 | 1 | 5 |
| 5 | 1 | 1 | 6 |
這是什麼跟蹤,當人們離開或加入組,是我試圖弄清楚一個小組中有多少人。
例如,這檯曆史會是什麼樣子: (類型0 =加入,類型1 =葉子)
user 1 joins at time 1
user 2 joins at time 2
user 1 leaves at time 3
user 3 joins at time 4
user 1 joins at time 5
user 1 leaves at time 6
所以,如果我在哪裏可以查詢有多少人是該組中這將是2,因爲用戶1離開了2次,現在組中只有用戶2,3。
我一直在玩過去一個半小時,但似乎無法得到任何工作。我真的很困惑與MAX(),因爲它不返回我會認爲這是正確的結果(雖然我知道我在做什麼完全錯了)
SELECT *,MAX(date) from myTable GROUP BY id_user
以上是我目前的想法,但其不給我任何我想要的東西。
我去了PHPMyAdmin並嘗試使用非常簡單的MAX()來獲取最大日期(我知道你可以通過ORDER BY date DESC做到這一點,但這不是我想要的,這只是一個測試):
SELECT *,MAX(date) from myTable
但是,這將返回列表中的第一行。所以我打得周圍多一點,把在MAX(日期)爲d和我發現,它真的返回第一列,然後拍打在最高日期:
| id | type | id_user | date | D |
| 0 | 0 | 1 | 1 | 6 |
我試着用搜索引擎這個並查看了其他SO問題,但找不到解決我問題的任何問題。如果任何人有任何想法我在做什麼錯誤的MAX或有任何建議,對此方法我會很感激。 (我有一種感覺,我的疑問將會更加密集。)無論如何,謝謝。
參見GROUPWISE max。如果您還在掙扎,請提供一個sqlfiddle以及所需的結果。 – Strawberry