0

重複の可能性:
mysql:GROUP BY内でLIMITを使用して、グループごとにN個の結果を取得しますか?

試しgroup byましたが、account_idごとに1つしか取得できません。account_idごとに10が必要です。これが私が探しているものです。

SELECT id,account_id FROM whatever {LIMIT to 10 of each account_id}
4

1 に答える 1

0

各account_id、idグループにランクを使用できます

例:

SELECT id,account_id FROM (
SELECT id,account_id,
   @acrank:=CASE 
               WHEN @aid <> id THEN 1 
               ELSE @acrank+1 END AS rn,
   @id:=id AS id_set
FROM
  (SELECT @acrank:= -1) nr,
  (SELECT @id:= -1) n,
  (SELECT * FROM Test ORDER BY id, account_id) t
  ) x WHERE rn < 11
于 2012-11-09T18:02:14.923 に答える