Как получить уникальные значения столбцов и их количество?
SELECT DISTINCT brand, age FROM products при такой записи мне выдает объект с 2 ключами по brand и age, но мне нужны их уникальные названия в прицепе, а не попарно сгруппированные уникально, т.к. там идет уникальность разнообразий ключей по 2 полям, которые часто повторяются в плане названия брендов и возраста.
Так же мне нужно ещё их число SELECT DISTINCT brand, COUNT(brand) FROM products
При такой записи мне почему-то выводит {"brand":"Heinz","COUNT(brand)":162}
Как мне получить уникальные значения полей и их количество?
Rsa97,
Так сейчас выглядит одиночный запрос, но с UNION получается нужно повторять запись WHERE, а $sql->bind_param ругается на то, что ? стало больше, чем значений для них, а поставить в общий конец после всех UNION запись WHERE не получилось, чтобы она была одна для всех, ругается на ошибку синтаксиса.
$sql = "SELECT brand, COUNT(*) AS `All`
FROM products WHERE count > 0 " . $filter . " GROUP BY `brand`";
SELECT 'brand' AS `type`, `brand`, `count`
FROM (
SELECT `brand`, COUNT(*) AS `count`
FROM `products`
GROUP BY `brand`
) AS `b`
UNION SELECT 'age', `age`, `count`
FROM (
SELECT `age`, COUNT(*) AS `count`
FROM `products`
GROUP BY `age`
) AS `a`
SELECT `brand`, `age`, COUNT(*) AS `ALL`
FROM `products`
GROUP BY `brand`, `age`
/* ORDER BY `ALL` DESC // сортировка по-убыванию кол-ва - раскомментируйте, если понадобится...*/