вывести последних и первых дат по группе sql запросом
Не получается вывести последние и первые даты для "m" и "w" sql запросом. не указывая вручную "m" и "w" чтоб для любых групп работало. групп может быть больше двух
Ответы (2 шт):
Автор решения: S.H.
→ Ссылка
Как я понял, соль вопроса в том, как сжедать это ОДНИМ sql запросом.
Я могу предложить только неизящный способ, основанный на использовании union:
select min(birthday), null from table where sex='m'
union
select null, max(birthday) from table where sex='w'
Кто лучше?
Автор решения: Aziz Umarov
→ Ссылка
я постараюсь без uniona
select
min(CASE WHEN sex='m' THEN birthday END) AS minM,
min(CASE WHEN sex='w' THEN birthday END) AS minW,
max(CASE WHEN sex='m' THEN birthday END) AS maxM,
max(CASE WHEN sex='w' THEN birthday END) AS maxW
from table
или так
select
min(birthday) AS min,
max(birthday) AS max,
sex
from table
group by
sex
