数据库查询限制

时间:2012-03-05 09:52:09

标签: mysql database

所以,我有这个mysql查询:

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

这会返回最新的两条评论,我的问题是我可以以某种方式限制此查询返回两行具有相同的member_id吗?我尝试在member_id之前添加DISTINCT但没有效果。

2 个答案:

答案 0 :(得分:1)

  

我可以以某种方式限制此查询返回两行相同member_id 吗?

如果您的会员ID是MEMBERID,您可以使用此查询。

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

答案 1 :(得分:0)

您可以使用分组依据。但是,如果同一个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