Trier par suite de la sous-requête MySQL
J'ai une table qui contient un enregistrement pour tous les éléments téléchargeables et une autre table qui contient un enregistrement de chaque téléchargement qui inclut la date du téléchargement et de l'id de l'élément et l'utilisateur qui l'ont téléchargé.
Quand j'ai une liste d'éléments de la base de données je veux la requête de regarder combien de fois un article a été téléchargé à l'autre de l'élément de données.
Voici mon SQL:
SELECT t1.*,
(SELECT COUNT(*)
FROM tl_downloads
WHERE item_id = t1.id
AND download_date > ?)
AS downloads_count
FROM tl_items AS t1
ORDER BY downloads_count DESC
La requête ci-dessus fonctionne très bien dans le sens que je reçois une colonne supplémentaire dans les résultats appelée "downloads_count' qui contient le nombre correct mais il ne me laisse pas l'ordre par cette valeur.
Que dois-je faire pour être en mesure de faire pour mes résultats par la valeur retournée dans la sous-requête?
Laissez-moi savoir si vous avez besoin de plus d'infos!
Edit - données-Échantillon
tl_items tl_downloads
id name id item_id download_date
1 Item 1 1 1 1385964000
2 Item 2 2 1 1385964000
3 Item 3 3 3 1385964000
Les résultats que j'attends serait:
Item 1 - Downloads 2
Item 3 - Downloads 1
Item 2 - Downloads 0
Grâce
OriginalL'auteur jd182 | 2013-02-18
Vous devez vous connecter pour publier un commentaire.
essayer,
pouvez-vous donner des exemples d'enregistrements et, éventuellement, avec le résultat souhaité? il fait m'aide à comprendre le problème le plus 😀
Pas de problème, j'ai donné un exemple dans la question d'origine. Merci pour votre aide
et quel est le problème avec ça? sqlfiddle.com/#!2/f7f2e/7
Cela m'a 10X amélioration de la performance au-dessus du standard rejoindre équivalent
OriginalL'auteur John Woo
Attend le 0 téléchargements pour être inclus dans les résultats et d'avoir de date de téléchargement contrainte semble se contredire pour moi, sauf si je suis surplombant en elle.
La requête ci-dessus sera de retour le résultat attendu.
http://www.sqlfiddle.com/#!2/29b39/13
OriginalL'auteur Slowcoder