Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » GROUP BY и ORDER BY

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Volgar



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я наверное туплю, но давно немогу отсортировать данные взятые из mySQL: там записаны пользователи (притом повторяющиеся) с разными баллами. Мне нужно просуммировать баллы у каждого пользователя и отсортировать их в порядке убывания.
 

Код:
 
$dbr = mysql_query("SELECT username, Sum(score) FROM check  GROUP BY username ORDER BY score DESC  LIMIT 20 ");  
    while(list($username,$score) = mysql_fetch_row($dbr))
    {
        $result .= "<tr><td>$username</td><td>$score</td></tr";
    }
            return $result;
}
 

 
Не хочет сортировать баллы пользователей
???

Всего записей: 592 | Зарегистр. 16-03-2003 | Отправлено: 00:41 18-12-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Volgar

Цитата:
SELECT username, Sum(score) as sum_score FROM check  GROUP BY username ORDER BY sum_score DESC  LIMIT 20

А так?


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:54 18-12-2003
Volgar



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Я всегда знал что ты гений.
Спасибо огромное. Не знал таких тонкостей.
Можно я тебе в ПМ ещё один код кину, а то меня с таким идиотизмом все засмеют?

Всего записей: 592 | Зарегистр. 16-03-2003 | Отправлено: 01:43 18-12-2003
IntenT



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Volgar

Цитата:
Можно я тебе в ПМ ещё один код кину, а то меня с таким идиотизмом все засмеют

НЕт уж, давай сюда, чтоб все учились :о)))

Всего записей: 1584 | Зарегистр. 16-12-2001 | Отправлено: 11:01 18-12-2003
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Очень помощь нужна!!!
запарился блин вот простой запрос  
SELECT * FROM history GROUP BY ip DESC ORDER BY date DESC LIMIT 25
почему то выводит первую запись а по ид скажем 127.0.0.1
за 2006-06-17 19:32:25 хотя есть и за 2006-06-18 13:00:54
нужно то вывести последнюю запись!
Заранее благодарю,

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 14:17 18-06-2006
Ventura

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
phpbbmods

Цитата:
Очень помощь нужна!!!  
запарился блин вот простой запрос  
SELECT * FROM history GROUP BY ip DESC ORDER BY date DESC LIMIT 25  
почему то выводит первую запись а по ид скажем 127.0.0.1  
за 2006-06-17 19:32:25 хотя есть и за 2006-06-18 13:00:54  
нужно то вывести последнюю запись!  
Заранее благодарю,  

Все правильно, он сначала группирует а потом сортирует. И GROUP BY должен предшествовать ORDER BY.
Можно сделать по-другому, например так:

Код:
 SELECT `ip`, MAX(`date`) AS `date` FROM `history` GROUP BY `ip` ORDER BY `date` DESC LIMIT 25  

Всего записей: 180 | Зарегистр. 04-08-2003 | Отправлено: 15:48 18-06-2006
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ventura
спасибо огромное помогло, но пришлось добавлять подзапрос!

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 21:26 18-06-2006
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
-

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 21:29 18-12-2017 | Исправлено: phpbbmods, 12:11 21-12-2017
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » GROUP BY и ORDER BY


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru