2010-08-06 4 views
0

Je veux commander une sélection d'articles par la note. Il y a 2 champs: rateup et ratedown. J'utilise ces champs pour calculer un nombre et ordonner la sélection sur ce nombre. Cela peut-il être fait en mysql? J'ai un querylike, mais cela ne fonctionne pas:Calculs dans la déclaration mysql pour l'évaluation

SELECT * FROM table ORDER BY (((9/rateup+ratedown)*rateup)+1) DESC 

Comment puis-je faire ce travail ou est ce impossible?

Répondre

2
Select *, (((9/rateup+ratedown)*rateup)+1) As Ord from Table WHERE published = 1 Order By Ord Desc 

ajouté Où Clause comme demandé.

+0

Merci pour la réponse rapide! Une question: Où dois-je placer les déclarations WHERE? Comme: OERE publié = 1 ET ... – Bert

+0

Sélectionnez *, (((9/rat + ratingown) * rateup) +1) Comme Ord de la Table WHERE (mettre des critères ici) Order By Ord, dEsc – websch01ar

+0

Il semble qu'il doesn doesn doesn faire le calcul: # 1 a raté: 1, ratedown 0 (note calculée = 10) # 2 a rateup: 2, ratedown 1 (note calculée = 7) Mais à la suite de cette requête (quand DESC) # 2 est placé au-dessus de # 1. Alors que 10 est supérieur à 7.: S – Bert