Задать вопрос
@newPsevdonim
Python разработчик

Где ошибка в данном sql запросе?

У меня есть следующий sql запрос:
  • Вопрос задан
  • 747 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Akina
Сетевой и системный админ, SQL-программист.
Если нормально отформатировать, получается
SELECT *
FROM (
    SELECT toStartOfInterval(time_local, interval 3600 SECOND) AS interval,
           remote_addr,
           count(DISTINCT http_user_agent),
           count(http_user_agent)
    FROM accesslog.default
    WHERE time_local > (now() - toIntervalMinute(240))
    GROUP BY interval, remote_addr
    ORDER BY interval, remote_addr
    ) AS t1
INNER JOIN (
    SELECT *
    FROM accesslog.default
    WHERE time_local > (now() - toIntervalMinute(240))
    ) AS t2 ON t1.remote_addr=t2.remote_addr

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

А то, что сам кликхаус в процессе выполнения протерял одно поле подзапроса - это именно к нему, а не к запросу, претензии.. может, данных многовато, а оперативки в обрез?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
flapflapjack
@flapflapjack
на треть я прав
В цвете же можно выложить!
select * from
               (select toStartOfInterval(time_local, interval 3600 second) as interval, remote_addr, 
               count(distinct http_user_agent), count(http_user_agent) 
               from accesslog.default where time_local > (now() - toIntervalMinute(240)) 
               group by interval, remote_addr order by interval, remote_addr) as t1
               inner join
               (select * from accesslog.default where time_local > (now() - toIntervalMinute(240))) as t2 
               on t1.remote_addr=t2.remote_addr

и покажите вывод запросов отдельно с именами столбцов в выводе
Ответ написан
unfilled
@unfilled
В доке пишут:
Taking all the columns via * is available only if tables are joined, not subqueries.


и не уверен на счёт сортировки в первом подзапросе

upd: и попробуйте добавить алиасы для count'ов в первом подзапросе
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
25 янв. 2025, в 01:32
1000 руб./за проект
24 янв. 2025, в 23:36
800 руб./за проект
24 янв. 2025, в 22:10
1000 руб./за проект