je voulais récupérer les lignes de la base de données MySQL et les commandez par votes:Commande des lignes de mysql de colonnes dérivées
votes_up + votes_down = votes
table:
posts{id, post_text, votes_up, votes_down, date}
ORDER BY votes
je voulais récupérer les lignes de la base de données MySQL et les commandez par votes:Commande des lignes de mysql de colonnes dérivées
votes_up + votes_down = votes
table:
posts{id, post_text, votes_up, votes_down, date}
ORDER BY votes
SELECT id, post_text, votes_up, votes_down, date, sum(votes_up + votes_down) as 'Votes'
FROM posts
ORDER BY sum(votes_up + votes_down)
traditionnelle SQL vous permet d'utiliser la colonne alias dans le ORDER BY:
SELECT p.votes_up + p.votes_down AS total_votes
FROM POSTS p
ORDER BY total_votes
tu veux dire aussi p.votes_down? :)) – getaway
@getaway: Désolé? –
Vous pouvez utiliser blablabla ORDER BY sum(votes_up + votes_down)
, mais faites attention et ne l'utilisez pas sur des bases de données de production surchargées, car sum() sera calculé "à la volée" et il sera très lent pour les grandes tables!
im juste le faire sur les messages faits dans les 3 dernières heures, de sorte qu'il ne sera pas effectuer sur toutes les lignes dans le post tbale, serait-ce encore bien – getaway
est leur alternative à cela, la chose la plus importante est que je commande le lignes sur le total des votes – getaway
merci pour la bonne réponse;), puis-je aussi vous demander d'accéder aux valeurs votes_up ou votes_down, deos qui viennent automatiquement cette requête – getaway
Ajouter les autres colonnes dont vous avez besoin à l'instruction select, je mettrai à jour ma réponse –