Sélection des premières lignes par catégorie dans MySQL
Pour récupérer un nombre limité de lignes de chaque catégorie dans un tableau, vous pouvez utiliser des fonctions analytiques . Cependant, MySQL ne propose pas directement ces fonctions. Néanmoins, il est possible de les émuler à l'aide de variables.
Émulation de fonctions analytiques
La requête MySQL suivante émule la fonctionnalité des fonctions analytiques pour sélectionner les 3 premières lignes de chaque catégorie. :
<code class="mysql">SELECT x.* FROM ( SELECT t.*, CASE WHEN @category != t.category THEN @rownum := 1 ELSE @rownum := @rownum + 1 END AS rank, @category := t.category AS var_category FROM TBL_ARTIKUJT t JOIN (SELECT @rownum := NULL, @category := '') r ORDER BY t.category ) x WHERE x.rank <= 3</code>
Explication
Cette méthode vous permet d'implémenter la fonctionnalité souhaitée sans recourir à des fonctions analytiques, qui ne sont pas prises en charge par MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!