Не могу до конца составить запрос.
Имеется следующая таблица
ТаблицаCREATE TABLE `test` (
`id` int(11) NOT NULL,
`map` varchar(64) NOT NULL,
`uid` int(11) NOT NULL,
`best` int(1) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
С текущими данными
ДанныеINSERT INTO `test` (`id`, `map`, `uid`, `best`) VALUES
(1, 'xx2', 1, 1),
(2, 'xx3', 1, 1),
(3, 'xx2', 2, 0),
(4, 'xx4', 2, 1),
(5, 'xx2', 3, 0);
Также, есть запрос:
SELECT *, COUNT(map) as countmaps FROM test GROUP BY uid ORDER BY countmaps DESC
На выходе я получаю:
UID - COUNTMAPS
1 - 2
2 - 2
3 - 1
То есть, результат каждого UID и их количество `map`. Но мне нужно получить что-то вроде:
UID - COUNTMAPS - COUNT_BEST_MAPS
1 - 2 - 2
2 - 2 - 1
3 - 1 - 0
То есть, нужно вывести список UID`ов, количество их общих записей (что есть и сейчас), при этом рядом добавить количество записей, где `best` = 1