MySQL. Можно ли сделать такой запрос?

А
На сайте с 27.08.2013
Offline
98
321

Всем привет. Хочу узнать можно ли реализовать такой запрос?

Вот простая таблица data:

id name views

1 Андрей 51

2 Виктор 63

3 Сергей 21

4 Алексей 32

... ... ...

100 Евгений 15

Задача 1: Вывести последний 20 данных

SELECT * FROM `data` ORDER BY id DESC LIMIT 20

Задача 2: Вывести последний 20 данных в порядке убывания просмотров

SELECT * FROM `data` ORDER BY views DESC LIMIT 20

Сам вопрос:

А можно ли в одном запросе вывести 10 последних данные отсортированных по id и 10 последних данных отсортированных по views? Если можно, то как это реализовывается?

IL
На сайте с 20.04.2007
Offline
412
#1
Айратиус:
Можно ли сделать

делайте )

Айратиус:
Если можно, то как это реализовывается?

@see UNION https://dev.mysql.com/doc/refman/8.0/en/union.html

Только определиться, как должен быть отсортирован итоговый результат..

[Удален]
#2

А как Вы их разделять собираетесь?

А
На сайте с 27.08.2013
Offline
98
#3
Wellkeep8:
А как Вы их разделять собираетесь?

Вообще разделать не нужно. Нужно в одном запросе выдать всего 20 записей в которые входят 10 последних и 10 популярных. Пусть даже в перемешку все будет.

W
На сайте с 08.02.2017
Offline
158
#4

Айратиус, UNION между запросами и всё

Комплексный аудит ИМ. Формирование УТП, анализ юзабилити, каналов продвижения. Контекстная реклама, настройка систем аналитики. Консультация - бесплатно, в ЛС
S
На сайте с 23.05.2004
Offline
289
#5

Что два, что одни - разницы по времени все равно не будет.

Это просто мой личный сайт (https://phpdevs.com/) в моей подписи.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий