限制类似的id - 结果为sql

时间:2012-06-30 20:24:43

标签: mysql sql

2我有一张重复项目表,我从左边的连接处完成了这张桌子.- 让我们说这个表别名是“piked”

ID     Product         PickedBY
1      Basket          Josh
1      Basket          Jessica
1      Basket          Josh
1      Basket          Mike
1      Basket          Mike
2      Seat            Alan
3      Computer        Jessica
4      Mouse           Josh
4      Mouse           Mike
4      Mouse           Jessica

我希望将相等的ID限制为2.我该怎么做?所以,如果我只列出ids,结果将看起来是1,1,2,3,4,4。

由于

2 个答案:

答案 0 :(得分:0)

你的问题对我来说没有意义,这让我想知道你想通过这样的查询实现什么,但你可以尝试对结果进行分组:

select id, count(*)
from piked
group by id

这不完全是你问的,但是你可以通过查看结果的第二列来判断id是否有重复。结果将是

1,5
2,1
3,1
4,3

答案 1 :(得分:0)

这应该可以解决问题:

SELECT ID, Product, PickedBy FROM (
SELECT
IF(@prev != q.ID, @rownum:=1, @rownum:=@rownum+1) as rownumber, @prev:=q.ID, q.*
FROM (
    SELECT
    ID, Product, PickedBy
    FROM piked
    , (SELECT @rownum:=0, @prev:=0) r
    ORDER BY ID
)q
)asdf
WHERE asdf.rownumber <= 2