2012-03-05 95 views
0

所以,我有這樣的MySQL查詢:數據庫查詢限制

SELECT member_id, text FROM review WHERE text != "" ORDER BY date DESC LIMIT 2

這將返回最新的2條評論中,我的問題是,我可以以某種方式限制該查詢返回兩行具有相同member_id?我曾嘗試在member_id前添加DISTINCT,但沒有效果。

+1

group by member_id – Rufinus 2012-03-05 09:53:26

+0

不,他希望兩行具有相同的member_id。 – fancyPants 2012-03-05 10:32:19

回答

0

您可以使用group by。但是如果你有兩行以上的相同的ID,你不知道哪個文本會來。

SELECT r.member_id, r.text 
    FROM review r, (Select member_id, max(date) dat from review WHERE text != "" group by member_id) t1  
    WHERE r.member_id =t1.member_id and t1.dat=r.date 
    LIMIT 2 
+0

是的,我正在考慮使用group by,但如果你的日期正確,我需要最新的文字 – slash197 2012-03-05 10:04:52

+0

@pinkypower。該查詢應該是有效的。你試過查詢嗎? – Kayser 2012-03-05 10:13:24

+0

是的,我做了,它返回2個月的結果 – slash197 2012-03-05 10:15:31

1

我可以採用某種限制該查詢返回兩行與相同member_id

如果您的會員ID是MEMBERID,您可以使用此查詢。

SELECT member_id, 
     TEXT 
FROM review 
WHERE TEXT != "" 
     AND member_id = memberid 
ORDER BY DATE DESC 
LIMIT 2