Страница 1 из 1
Сортировка вместе с уникальностью MySQL
Добавлено: 27 янв 2013, 10:30
manticore
Как можно сначала отсортировать, а потом выбрать по уникальности значения?
Пытался сделать так:
Код: Выделить всё
SELECT `id` FROM `payments` GROUP BY `userid` ORDER BY `monets` DESC
Но тогда он берет не самые большие значения monets, т.к сначала идет выборка по уникальности, а потом сортировка.
А если поменять местами, то говорит что так невозможно. Так как это обойти?
Re: Сортировка вместе с уникальностью MySQL
Добавлено: 27 янв 2013, 10:48
Serge
По идее
Код: Выделить всё
SELECT `id`, MAX(`monets`) FROM `payments` GROUP BY `user_id`
выберет максимальное для каждого пользователя. Если это имелось в виду...
Re: Сортировка вместе с уникальностью MySQL
Добавлено: 27 янв 2013, 11:05
manticore
Serge
Не помогло, взял человека c определенным ID и с монетами 2002, хотя у игрока есть еще запись с монетами 5821.
Re: Сортировка вместе с уникальностью MySQL
Добавлено: 27 янв 2013, 12:49
manticore
Код: Выделить всё
SELECT `userid`,MAX( `monets`) FROM `payments` GROUP BY `userid` ORDER BY MAX( `monets`) DESC
Но только как мне в PHP взять число MAX(`monets`)?
Вот так работает с обычным полем:
А как для максимального числа, я не знаю. Пробовал так, но не работает:
Re: Сортировка вместе с уникальностью MySQL
Добавлено: 28 янв 2013, 10:34
Serge
1) Загнать запрос в phpmyadmin и посмотреть правильное название возвращаемого поля
2) Вывести весь массив при помощи print_r
3) При выборке сделать псевдоним (AS max_monets)
Re: Сортировка вместе с уникальностью MySQL
Добавлено: 28 янв 2013, 14:23
manticore
Serge
Просто вывел с помощью print_r и понял что правильным будет так:
Спасибо вам