看板 Database 關於我們 聯絡資訊
※ 引述《tabear (胖熊)》之銘言: : 我用的是 MySQL table: info : id mb data : ------------------------ : 1 1 0101 : 2 25 0402 : 2 17 0402 : 2 28 0101 : select id,mb,data from info group by id order by data,mb : 出來的結果是 我心裡想的應該是 : id mb data id mb data : ------------------------ ----------------------- : 1 1 0101 1 1 0101 : 2 25 0402 2 28 0101 : 請問要怎樣 sql 可以達到我要的結果哩 ? Use: MSSQL 2005 or 2008 皆可 (不知道以下語法使用部份和 MYSQL 是否有不同) SELECT info.id, info.mb, info.data FROM info LEFT OUTER JOIN (SELECT id, MAX(data) max_Data FROM info GROUP BY id) TmpTable /*先抓出目前要的資料當索引 (因為 GROUP BY 的 SELECT 內只能放彙總函數)*/ ON info.id=TmpTable.id AND info.mb=TmpTable.mb /*利用抓取出之資料與原資料合併*/ WHERE TmpTable.id IS NOT NULL /*把 NULL 不符合資料剔除*/ ORDER BY TmpTable.id, Tmptable.mb -- 完成~! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.75.95