0

2i've a table of Repeated items, I got this table done from a left join.- このテーブル エイリアスが "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 つに制限したいのですが、どうすればよいですか? したがって、ID のみをリストすると、結果は 1,1,2,3,4,4 になります。

ありがとう

4

2 に答える 2

0

あなたの質問は私には意味がありません。そのようなクエリで何を達成したいのか疑問に思いますが、結果をグループ化することができます:

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

それはまさにあなたが尋ねたものではありませんが、結果の 2 番目の列を見ることで、ID に重複があるかどうかを知ることができます。結果は次のようになります。

1,5
2,1
3,1
4,3
于 2012-06-30T20:35:22.633 に答える
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
于 2012-06-30T21:02:47.873 に答える