投資資訊集合站

因為它並未包含在彙總函式或group by子句中、SQL分組、SQL 資料 分群在PTT/mobile01評價與討論,在ptt社群跟網路上大家這樣說

因為它並未包含在彙總函式或group by子句中在[SQL ] 請教這個要怎麼下查詢語法?- 看板Database

作者[SQL ] 請教這個要怎麼下查詢語法?
標題mywheat (麥田)
時間2013-06-09 02:48:04 UTC


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)


謝謝大家的提示

--
◆ 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

因為它並未包含在彙總函式或group by子句中關鍵字相關的推薦文章

因為它並未包含在彙總函式或group by子句中在ptt上的文章推薦目錄

    因為它並未包含在彙總函式或group by子句中的PTT 評價、討論一次看



    version - 53