Есть таблица:
Исходные данные:
id;color;price
1;red;25
2;green;85
3;blue;2
4;black;20
5;green;96
6;red;18
7;black;5
8;black;10
9;green;14
10;blue;96
11;red;8
12;green;5
13;blue;14
14;black;26
15;blue;6
каким запросом получить по два минимальных значения каждого цвета? Ожидаемый результат запроса:
Именно одним запросом хочется получить такой результат.
Попробуйте вот такой вариант
select id, color, price
from colors
where price = (select min(price) from colors as X where X.color=colors.color)
or price=(select min(price) from colors as X where X.color=colors.color
and price > (select min(price) from colors as Y where Y.color=colors.color))
order by color, price;
Или с меньшим числом подзапросов
select id, color, price
from colors
where (
select count(*) from colors as X
where X.color = colors.color and X.price <= colors.price
) <= 2
order by color, price;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите как написать запрос, для вывода трех наиболее оплачиваемых сотрудника предприятияНазвания полей и таблиц произвольное, мне нужно...
Как при помощи ORM RedBean вывести определённые данные? У меня есть таблица, которая называется "users", в ней есть 3 столбца: "id", "steamid" и "balance" Первая...