Ниже приведена структура таблицы
Я хочу вытащить последние 5 уникальных доменов.
Я пробовал следующий запрос, но он показывает неверные результаты - он стирает google.com с результатов, поскольку он также существует в сравнении с предыдущими идентификаторами: SELECT DISTINCT domain FROM searches ORDER BY id DESC 5
Может кто-нибудь предложить исправление к запросу.
SELECT DISTINCT domain
FROM your_table_name
ORDER BY domain_id DESC
LIMIT 5;
Это получит необходимый вывод !!!
SET SQL_MODE=''
будет работать, что скажите?
Предполагая, что вам нужно 5 последних поисков в зависимости от времени,
select * from <tableName> order by serached_at desc limit 5;
MySQL имеет предложение LIMIT
для этого:
SELECT DISTINCT domain FROM searches ORDER BY id DESC LIMIT 5
Я думаю, что вы хотите GROUP BY
:
select domain, max(search_at)
from t
group by domain
order by max(search_at) desc;
Это предполагает, что под "последним" вы подразумеваете столбец search_at
. Вы можете сделать то же самое с id
, если именно так вы определяете "последний".
Также вам не нужно включать max(search_at)
в select
. Я вставил это, потому что вас это может заинтересовать.
ORDER BY id DESC LIMIT 5