看板 Database 關於我們 聯絡資訊
MS SQL 2000 sp3 我有個資料表與其資料樣本如下 [memberconsume] cid 交易序號 mid 會員序號 cdate 交易日期 ap 獲得點數 up 使用點數 sp 結餘點數 [memberconsume] cid mid cdate ap up sp 1 1 2013-1-1 5 0 5 2 2 2013-1-2 7 0 7 3 3 2013-1-3 15 0 15 4 2 2013-1-4 10 2 15 5 1 2013-1-5 5 0 10 6 1 2013-1-6 0 10 0 7 2 2013-1-7 8 0 23 8 3 2013-1-8 0 15 0 9 1 2013-1-9 20 0 20 10 1 2013-2-1 13 15 18 11 2 2013-3-1 10 0 33 12 2 2013-4-1 0 11 22 我想要查目前哪些會員的點數(sp)已經為 0,而且要顯示最後一次交易記錄。 請問這該怎麼一次就查出來? 我對sql 語法不太熟,目前的做法感覺蠻差的,先簡單撈出來, 然後再由程式過濾,這樣處理速度有點慢。 感謝大家 ********************************* 最後寫出來了 SELECT MemberConsume.cid, MemberConsume.mid, MemberConsume.sp FROM MemberConsume INNER JOIN (SELECT MAX(MemberConsume_1.cid) AS CN FROM MemberConsume AS MemberConsume_1 INNER JOIN Member ON MemberConsume_1.mid = Member.mid GROUP BY MemberConsume_1.mid) AS MCA ON MemberConsume.cid = MCA.CN WHERE (MemberConsume.sp = 0) 謝謝大家的提示 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.191.176
moyasi:先找出每個會員最近一天的交易記錄 06/09 12:04
moyasi:再篩選你要的條件 06/09 12:04
lbeeon:SELECT DISTINCT(mid), MAX(cdate) from table where sp=0 06/09 18:54
lbeeon:大概這樣的意思 我沒測試過.. 06/09 18:55
mywheat:TO moyasi , 我想,我的問題點就卡在這邊不會下 ^^;; 06/10 09:01
mywheat:to lbeeon, 這語法沒過。"資料行 'mid' 在選取清單中無效 06/10 09:03
mywheat:因為他並未包含在彙總函式或 GROUP BY 子句中" 06/10 09:03
※ 編輯: mywheat 來自: 114.32.98.180 (06/10 09:22)