Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/10/2007, 14h58   #1
Invité de passage
 
Inscription : février 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 12
Points : 2
Points : 2
Par défaut Calcul dans un ORDER BY

Bonjour, j'ai un problème dans une requete pg, je voudrais faire en sorte que les resultats soient triés par ratio de deux des champs de la meme table

ex de ma requete :

SELECT * FROM users ORDER BY "NOTE"/"NB_VOTE"

J'ai essayé avec parentheses sans paretheses et un bon nombre de formes sans succes , quelqu'un aurait'il une idée pour regler mon problème ??

Merci d'avance
ant0inep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 15h41   #2
Membre régulier
 
Inscription : avril 2007
Messages : 81
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2007
Messages : 81
Points : 91
Points : 91
Envoyer un message via MSN à sefaxe82
je ne pense pas que tu puisses trier tes lignes sur une colonne qui ne figure pas dans le select !!!

donc, spécifie les colonnes que tu veux affiché à la place de * ainsi que le ratio.

SELECT colonne1, colonne2,...,NOTE/NB_VOTE AS RATIO FROM users ORDER BY RATIO
sefaxe82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 16h21   #3
Membre habitué
 
Inscription : août 2007
Messages : 128
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 128
Points : 146
Points : 146
Bien sûr que si.

Par contre, je me demande pourquoi tu mets dans double guillemets autour des noms des colonnes. Donc, dans un premier temps, j'essaierais sans guillemets doubles. Dans un second temps, si ça ne marche toujours pas, copie la requête ET l'erreur dans ce thread.
gleu_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 18h39   #4
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 72
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 72
Points : 35
Points : 35
+1, tu peux ordonner par n'importe quelle expression, je pense que c'est ton expression qui est mal écrite

Code :
SELECT * FROM users ORDER BY NOTE/NB_VOTE
ça devrait marcher

(je te déconseille de généraliser les capitales, en passant)

Sakalam
__________________
Marre des blogs trop chiadés ?
http://blog-de-m.over-blog.com/
Enfin, un vrai blog de merde (d'un copain) !
Sakalam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 21h20   #5
Membre du Club
 
Inscription : mai 2007
Messages : 56
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 56
Points : 47
Points : 47
Postgresql est sensible à la casse et pour lui users est bien différent de USERS. Par défaut, tous les noms de tables, colonnes, etc sont interprétés en minuscules.

Donc si tu fais un select * from USERS, postgresql (la version que j'utilise en tout cas) exécutera en fait select * from users; Or si ta tables s'appelle vraiment USERS (et non users), il te renverra une erreur !!!

La seule solution pour empêcher cela est l'utilisation des ". D'où la requête initiale d'ant0inep. Dans ce cas, la requête select * from USERS sera bien exécutée sans problème.

Bref, dans postgres plus encore que dans n'importe quel SGBD, il faut éviter l'utilisation des majuscules ...

Concernant le problème de ta requête, s'il ne s'agit pas d'un problème de casse, je pense que le mieux est en effet de poster la requête et l'erreur.
bmeurant est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h15.


 
 
 
 
Partenaires

Hébergement Web