Задать вопрос
@iolimmoo
Пытаюсь чему-то научиться :)

Какой sql запрос нужен чтобы получить последнюю дату события для каждого домена?

Есть таблица по crawls на разные домены. Нужно узнать даты последних кроулов для каждого домена. Всего их 13.

Вот такой код выдаёт ошибку и является неполноценным. При его правильном написании сможет показать только последние даты.

SELECT * FROM Crawl_Datetime LIMIT 1000
WHERE date =
(SELECT MAX(date) FROM Crawl_Datetime

Текст ошибки:
Syntax error: Expected end of input but got keyword WHERE at [2:1]
  • Вопрос задан
  • 376 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Возможно это не простая таблица а Google Big Table. Тогда обычные практики оптимизации SQL могут плохо работать. Я-бы предложил не использовать group by а переписать с window functions если gbt это поддерживает. И посмотреть как партицирована таблица. Возможно под специфичный query стоит сменить partitioning если там он дефолтный или неудачный.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
WITH cte AS (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY domain ORDER BY date DESC) AS rn
    FROM Crawl_Datetime
)
SELECT * 
FROM cte
WHERE rn = 1
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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