Étant donné le nom de la catégorie, je suis en mesure de sélectionner le nombre d'entrées nécessaires. Par exemple - SELECT * FROM products WHERE Category = Taxi LIMIT 1, 2
. Cela me donne parfaitement 2 entrées de catégorie = 'Taxi'.MySQL LIMIT sur plusieurs catégories
Maintenant, étant donné un tableau de noms de catégories, j'ai besoin d'effectuer une requête sql similaire, où je serai capable d'aller chercher le nombre requis d'entrées de chaque catégorie.
Condition - J'ai besoin de récupérer toutes les données de 2 (LIMIT 1, 2) rangées de chacune des catégories dans ['Taxi', 'Epicerie', 'Livraison',. . . . . . . . . . . ], en utilisant une seule requête SQL. C'est possible? Si oui, répondez s'il vous plaît.
J'ai essayé ceci - SELECT * FROM products WHERE Category IN ('Taxi', 'Groceries', 'Delivery', . . . . . . . . . . .) LIMIT 1, 2
, mais il a donné le même résultat que ci-dessus.
Voici comment la table des produits ressemble -
+----------+----------+------+
| Category | Items | Count|
+----------+----------+------+
| Taxi | Sedan | 32 |
| Delivery | Food | 34 |
| Delivery | Package | 42 |
| Meals | Sandwitch| 29 |
| Groceries| Butter | 36 |
| Taxi | SUV | 39 |
| Groceries| Milk | 39 |
+----------+----------+------+
O/P attendu -
+----------+----------+------+
| Category | Items | Count|
+----------+----------+------+
| Taxi | Sedan | 32 |
| Delivery | Food | 34 |
| Delivery | Package | 42 |
| Groceries| Butter | 36 |
| Taxi | SUV | 39 |
| Groceries| Milk | 39 |
+----------+----------+------+
lignes ordre n'a pas d'importance.
Le moyen le plus simple d'y parvenir serait un UNION qui combine les résultats de plusieurs instructions SELECT individuelles. – CBroe
@CBroe, mais cela ne ferait-il pas une mauvaise question? Dans le cas de, 100 éléments dans le tableau Catégorie, l'UNION ralentira considérablement le processus. –
Qu'est-ce que vous essayez réellement de réaliser ici à la fin?Vous avez utilisé le mot "pagination" ici, mais jusqu'à présent, je ne vois pas grand chose à voir avec cela. La pagination n'a même pas beaucoup de sens, sauf si vous spécifiez une commande en premier. – CBroe