[SQL ] 找出不同類別的單一會員最近登入時間

看板Database作者 (罪雲樵)時間10年前 (2014/07/08 20:06), 10年前編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/2 (看更多)
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱: mysql 資料庫版本: 內容/問題描述: 資料表-member ------------------------------------ id aid type user time ==================================== 1000 100 a abcd 9999 <== 999 100 b efgh 8888 998 99 a aaaa 7777 997 99 b abcd 6666 <== 996 98 a cccc 5555 995 100 a abcd 4444 994 100 a abcd 3333 993 100 b abcd 2222 .................................... 1 1 a aaaa 1 ------------------------------------ id是自動編號,aid是頻道代號,type是種類(只有a、b)、 user是使用者帳號,time是每次登入時間。 我現在要抓出,在同一個aid+user之下,離現在最近的登入時間 假設條件:aid=100、type=a、b、user=abcd、以time新到舊, 希望查出如下表 ------------------------------------ id aid type user time ==================================== 1000 100 a abcd 9999 997 99 b abcd 6666 ------------------------------------ 現在sql是: select * from `member` where `aid`=100 and user="abcd" and `type` in ("a", "b") group by `type` order by `time` desc 結果在group by `type`後,時間不會從最新到最舊… 不group by的話,就會列出一堆資料…卡關了! 請高手們相救,感謝。 -- 習慣一個人在房間裡,安靜地享受書的內容… -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.186.7 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1404821195.A.47B.html ※ 編輯: terrybob (211.75.186.7), 07/08/2014 20:07:09

07/08 20:15, , 1F
id應該不會重複,且你撈出來的資料要看到id,每筆資料的id都不
07/08 20:15, 1F

07/08 20:15, , 2F
一樣,何來"一大堆資料"的說法?
07/08 20:15, 2F

07/08 20:21, , 3F
你要用的應該是MAX()函式,找出最大的時間
07/08 20:21, 3F

07/08 20:21, , 4F
MAX()跟GROUP BY的用法可以大略參考以下google到的教學
07/08 20:21, 4F


07/09 10:34, , 6F
謝謝幫助
07/09 10:34, 6F
文章代碼(AID): #1JkzxBHx (Database)
文章代碼(AID): #1JkzxBHx (Database)