Выборка из одной таблицы строк с разными значениями столбца
Допустим, есть новости по спорту и экономике. Создана таблица, в которой есть столбец cat, отвечающий за принадлежность новости к сфере спорта (cat=1) или экономике (cat=2) На главной странице сайта хочу, чтобы в блоке СПОРТ выводились последние 2 новости из спорта, а в блоке ЭКОНОМИКА столько же (т.е. 2 последних) новостей экономики Можно ли это реализовать одним запросом к БД?
Пробовал
SELECT
t1.title AS r1,
t2.title AS r2
FROM
(SELECT cat, title FROM news WHERE cat=1 LIMIT 2) t1
join (SELECT cat,title FROM news WHERE cat=2 LIMIT 2) t2
Но у меня получается в ответе массив из 4 элементов вместо 2
Пример ответа:
Array (
[0] => Array ( [0] => Новость_Спорт_один [1] => Новость_Эк_один )
[1] => Array ( [0] => Новость_Спорт_два [1] => Новость_Эк_один )
[2] => Array ( [0] => Новость_Спорт_один [1] => Новость_Эк_два )
[3] => Array ( [0] => Новость_Спорт_два [1] => Новость_Эк_два )
)
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
SELECT cat, title FROM news WHERE cat=1 LIMIT 2
UNION ALL
SELECT cat,title FROM news WHERE cat=2 LIMIT 2