另一个明显和限制的mysql

时间:2018-03-08 21:56:19

标签: mysql distinct limit

以下是它应该做的事情 它返回200多个不同的记录,没有“限制2”

我想要的是返回2条不同的记录,但它会在前2条记录后停止,这意味着我只能获得2条记录

select distinct LEFT(`name`, LOCATE("(", `name`)-1), user_id, id
from ppbv79_listings
where  user_id = 3798 and category_id = 30 
group by LEFT(`name`, LOCATE("(", `name`)-1)
limit  2

Name                              user_id   id
Germany 1213 Used Carl Sonnenschein 3798    2160555 
Germany 1213 Used Carl Sonnenschein 3798    2160556

1 个答案:

答案 0 :(得分:1)

试试这个:

select A.`trimmedName`,  A.user_id, A.id 
from
(select LEFT(`name`, LOCATE("(", `name`)-1) 
             `trimmedName`, user_id, id,count(category_id) `count`
 from ppbv79_listings
 where  user_id = 3798 and category_id = 30 
 group by LEFT(`name`, LOCATE("(", `name`)-1), user_id, id 
 order by `count` desc) A
 limit  2;

我假设你想要删除一些重复,并且只获取最重复的前2行数据。