J'ai une table avec des enregistrements et elle a une ligne appelée category
. J'ai inséré trop d'articles et je veux sélectionner seulement deux articles de chaque catégorie.Requête MySql: Sélectionnez les 3 premières lignes du tableau pour chaque catégorie
J'ai essayé de faire quelque chose comme ceci:
J'ai créé une vue:
CREATE VIEW limitrows AS
SELECT * FROM tbl_artikujt ORDER BY articleid DESC LIMIT 2
Ensuite, j'ai créé cette requête:
SELECT *
FROM tbl_artikujt
WHERE
artikullid IN
(
SELECT artikullid
FROM limitrows
ORDER BY category DESC
)
ORDER BY category DESC;
Mais ce ne fonctionne pas et me donne seulement deux enregistrements?
fonctionne parfaitement, thats ce que je avais besoin – AXheladini
Puis-je créer vue d'une certaine manière de cette sélection, je l'ai essayé, mais il dit: 1349 - View SELECT contient une sous-requête dans la clause FROM – AXheladini
@AXheladini: Désolé, MySQL a gagné Ne l'autorisez pas pour quelques raisons - la sous-requête, en utilisant des variables ... Les vues MySQL sont extrêmement restreintes, je le crains - elles listent les restrictions dans la documentation de CREATE VIEW: http://dev.mysql.com/doc/ refman/5.1/fr/create-view.html –