Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment sélectionner un nombre limité de lignes pour chaque clé étrangère ?

Utiliser :

SELECT x.feedid
  FROM (SELECT t.feedid,
               CASE WHEN @feed != t.feedid THEN @rownum := 1 ELSE @rownum := @rownum + 1 END AS rank,
               @feed := t.feedid
          FROM TABLE t
          JOIN (SELECT @rownum := NULL, @feed := 0) r
      ORDER BY t.feedid) x
 WHERE x.rank <= 3
 ORDER BY x.feedid
 LIMIT 50

Ce qui n'est pas clair, ce sont les détails de ce que vous voulez renvoyer :toutes les lignes de votre tableau ou uniquement l'ID de flux.