Задать вопрос
@tispoint

Как правильно написать sql?

Помогите пожалуйста правильно соединить два последовательных запроса в один.
Я совсем не специалист.

Первый запрос:
SELECT RelPage_Y AS RP
FROM Keys
WHERE (((Keys.mp_group)=388))
UNION ALL SELECT RelPage_G AS RP
FROM Keys
WHERE (((Keys.mp_group)=388));


А второй запрос выводит самую часто встечаемую строку из первого:
SELECT q1.RP, Count(*) AS Выражение1
FROM q1
GROUP BY q1.RP
HAVING (((Count(*))>=All (select	 count (*)
from q1
group	 by RP
)));


Все работает, строку выводит, но хотелось бы объединить это все в один запрос.

Можно ли как-то объединить это все в один запрос?
  • Вопрос задан
  • 166 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
select top 1 keys from (
SELECT RelPage_Y AS RP
FROM Keys
WHERE (((Keys.mp_group)=388))
UNION ALL SELECT RelPage_G AS RP
FROM Keys
WHERE (((Keys.mp_group)=388))
)
group by RP
order by count(RP) desc


то бишь результаты первого запроса
группируем по ключу
сортируем по убыванию count()
берем только первую строку
дальше к этому можно уже прицепить развернутое (join по key )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы