[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: order by and group by
savelikan
Привет всем, подскажите, пожалуйста решение задачи)
Есть таблица результатов тестов, нужно для кажного юзера отобразить найлучший результат
как я только не менял запрос - всё равно при групировке order by `ptsst_percent` desc слетает.

select * from (
select *
from `pts_stest`
left join `users` on `users`.`u_id` = `pts_stest`.`ptsst_user`
order by `ptsst_percent` desc
) as `res`
where `ptsst_topic` = ".$TSTtopic['ptst_id']." and `ptsst_status` = 1
group by `res`.`ptsst_user`


ну и небольшой пример дампа
дамп внутри, чтобы лучше читать сообщение
CREATE TABLE `pts_stest` (
`ptsst_id` int(11) NOT NULL,
`ptsst_topic` int(11) NOT NULL,
`ptsst_user` int(11) NOT NULL,
`ptsst_start` int(11) NOT NULL,
`ptsst_finish` int(11) NOT NULL,
`ptsst_result` longtext NOT NULL,
`ptsst_status` tinyint(1) NOT NULL DEFAULT '0',
`ptsst_all` int(11) NOT NULL DEFAULT '0',
`ptsst_true` int(11) NOT NULL DEFAULT '0',
`ptsst_false` int(11) NOT NULL DEFAULT '0',
`ptsst_percent` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



INSERT INTO `pts_stest` (`ptsst_id`, `ptsst_topic`, `ptsst_user`, `ptsst_start`, `ptsst_finish`, `ptsst_result`, `ptsst_status`, `ptsst_all`, `ptsst_true`, `ptsst_false`, `ptsst_percent`) VALUES
(1, 1, 5, 1489829437, 1489829440, 'a:1:{i:1;a:5:{s:2:\"id\";i:1;s:7:\"cnttrue\";i:1;s:4:\"answ\";a:4:{i:0;i:1;i:1;i:0;i:2;i:2;i:3;i:3;}s:2:\"tp\";i:1;s:2:\"my\";a:1:{i:0;i:1;}}}', 1, 1, 1, 0, 0),
(21, 1, 1, 1490035878, 1490035884, 'a:2:{i:1;a:5:{s:2:\"id\";i:138;s:7:\"cnttrue\";i:1;s:4:\"answ\";a:5:{i:0;i:2;i:1;i:1;i:2;i:0;i:3;i:4;i:4;i:3;}s:2:\"tp\";i:1;s:2:\"my\";a:1:{i:0;i:2;}}i:2;a:5:{s:2:\"id\";i:145;s:7:\"cnttrue\";i:1;s:4:\"answ\";a:5:{i:0;i:0;i:1;i:3;i:2;i:4;i:3;i:2;i:4;i:1;}s:2:\"tp\";i:1;s:2:\"my\";a:1:{i:0;i:4;}}}', 1, 2, 0, 2, 0),
(22, 1, 1, 1490035919, 1490035921, 'a:2:{i:1;a:5:{s:2:\"id\";i:44;s:7:\"cnttrue\";i:1;s:4:\"answ\";a:5:{i:0;i:3;i:1;i:4;i:2;i:2;i:3;i:1;i:4;i:0;}s:2:\"tp\";i:1;s:2:\"my\";N;}i:2;a:5:{s:2:\"id\";i:82;s:7:\"cnttrue\";i:1;s:4:\"answ\";a:5:{i:0;i:2;i:1;i:4;i:2;i:0;i:3;i:1;i:4;i:3;}s:2:\"tp\";i:1;s:2:\"my\";N;}}', 1, 2, 0, 0, 10),
(23, 1, 1, 1490035927, 1490035929, 'a:2:{i:1;a:5:{s:2:\"id\";i:153;s:7:\"cnttrue\";i:1;s:4:\"answ\";a:5:{i:0;i:4;i:1;i:2;i:2;i:1;i:3;i:3;i:4;i:0;}s:2:\"tp\";i:1;s:2:\"my\";N;}i:2;a:5:{s:2:\"id\";i:163;s:7:\"cnttrue\";i:1;s:4:\"answ\";a:5:{i:0;i:0;i:1;i:3;i:2;i:1;i:3;i:4;i:4;i:2;}s:2:\"tp\";i:1;s:2:\"my\";a:1:{i:0;i:3;}}}', 1, 2, 0, 1, 20);


_____________
Одесса - мой город!)))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.