малко помощ за msql

stenly80

Registered
Код:
$query = mysql_query("SELECT user, SUM(profit) FROM table1 GROUP BY user HAVING SUM(profit)>=1 ORDER BY 'SUM(profit)' DESC");
до тук всичко работи но резултатите излизат на обратно:
user1= 1.40%
user2= 6.09%
това което искам е user с най-голям profit да излиза най-отгоре.
При опита ми да махна кавичките от израза
Код:
ORDER BY 'SUM(profit)'
ми дава грешка invalid group function pls help :| :|
 
stenly80 каза:
Код:
$query = mysql_query("SELECT user, SUM(profit) FROM table1 GROUP BY user HAVING SUM(profit)>=1 ORDER BY 'SUM(profit)' DESC");
до тук всичко работи но резултатите излизат на обратно:
user1= 1.40%
user2= 6.09%
това което искам е user с най-голям profit да излиза най-отгоре.
При опита ми да махна кавичките от израза
Код:
ORDER BY 'SUM(profit)'
ми дава грешка invalid group function pls help :| :|

Код:
$query = mysql_query("SELECT user, SUM(profit) as sum FROM table1 GROUP BY user HAVING SUM(profit)>=1 ORDER BY SUM(profit) DESC");

и нали profit е float или double за да използваш плаваща запетая ?
 
Код:
 $query = mysql_query("SELECT user, SUM(profit) FROM table1 GROUP BY user HAVING SUM(profit)>=1 ORDER BY 'SUM(profit)' АSC");

Така :) ?
 
Това поле по което подреждаш какъв тип е, ако се записват числа само го направи INT и после пак DESC и ще стане.
ако не стане пиши пак.
 
miro91 каза:
Това поле по което подреждаш какъв тип е, ако се записват числа само го направи INT и после пак DESC и ще стане.
ако не стане пиши пак.
Полето e от тип double .опитах всички възможни варианти но резултата си остана същият
user1= 2.00%
user2= 1.00%
user3= 6.00%
ако добавя още user и сигурно ще стане и по зле
тоа е кода който използвах за горния резултат
Код:
$query = mysql_query("SELECT user, SUM(profit) FROM table1 GROUP BY user ORDER BY profit ASC");
Опитах да променя полето profit на тип int но това не промени нищо освен че изтри цифрите след точката.някакви други идеи?
 

Back
Горе