0
votes

Sélectionnez avec des conditions multiples pour la même colonne et commandez par

J'ai une table comme celle-ci xxx

je veux sélectionner item_id où le pays = nous et la note non vide et commandez par note

édité: et la possibilité de vérifier une autre valeur d'élément_key comme "Genre = «drama» et année = '2019' "etc

J'ai plus de 10 variables d'item_Key non seulement notable et pays, mais si vous connaissez la méthode, je vais demander aux autres

Je fais comme ça et c'est un travail, mais mon problème avec la commande par note xxx

Comme je le dis, ça marche mais commander en ne fonctionnant pas, J'ai besoin de trier par item_value en fonction de l'élément_key avec la valeur d'évaluation.


3 Réponses :


1
votes

Vous pouvez le faire avec des exists: xxx

Voir le Demo .
Résultats (pour votre exemple de données): xxx


4 commentaires

Comment puis-je l'appliquer pour le genre Multi Meta, etc.?


Vous devez expliquer cela dans votre question avec des échantillons de données et des résultats attendus.


Je veux dire si j'ai une note de poste_key, pays, genre, année et je veux vérifier aussi, comment je peux le faire avec votre code


Vous devrez ajouter des similaires et existez (....) pour chacune de vos conditions d'élément_key.



1
votes

Vous pouvez le faire en utilisant l'agrégation conditionnelle et en plaçant toutes vos conditions dans un ayant Clause: xxx

sortie: xxx < / Pré>

Démo sur dbfiddle


0 commentaires

2
votes

Vous n'avez pas besoin de rejoindre la table pour tout ce que vous souhaitez ajouter. Vous recherchez un pivot.

schéma (mysql v5.7) xxx


Query # 1 xxx

sortie: xxx


après avoir utilisé le groupe par, vous assemblez "grappes de lignes" ou "données réunies". Vous devez passer à travers les données agrégées pour isoler la ligne avec la clé correspondante pour garder uniquement cette valeur (toutes les autres lignes deviendront temporairement null dans cette expression).

Vue sur DB Fiddle

ou juste l'élément_id, comme celui-ci: https://www.db-fiddle.com/f/twwfsrdyxv36zrevrivj5b/1


2 commentaires

Je veux sélectionner item_id où le pays = nous et la note pas vide et commandez par note C'est exactement ce que cela fait. Avez-vous besoin de toutes les valeurs de la réponse de Nick? Que faites-vous avec somme () dans votre tentative postée.


Tout ce que je veux, c'est obtenir des résultats communs et commandez-le par note, peu importe si vous obtenez toutes les valeurs ou non, et toutes vos réponses fonctionnent bien avec moi, mais votre code sera peut-être plus rapide car il ne s'agissait que d'une seule valeur, car Je vous remercie