concat the output of the subquery?

Документация по CREATE EVENT довольно хороша, но для того, чтобы сделать это правильно, требуется некоторое время.

У вас есть две проблемы: во-первых, повторение события , во-вторых, , чтобы оно запускалось ежедневно в 13:00 .

Этот пример создает повторяющееся событие.

CREATE EVENT e_hourly
    ON SCHEDULE
      EVERY 1 HOUR
    COMMENT 'Clears out sessions table each hour.'
    DO
      DELETE FROM site_activity.sessions;

В клиенте MySQL командной строки вы можете:

SHOW EVENTS;

Здесь перечислены каждое событие с его метаданными, например, если оно должно выполняться только один раз или повторяться.

Вторая проблема: указание повторяющегося события на определенный элемент расписания .

Испытывая различные виды выражения, мы можем придумать что-то вроде:

CREATE EVENT IF NOT EXISTS `session_cleaner_event`
ON SCHEDULE
  EVERY 13 DAY_HOUR
  COMMENT 'Clean up sessions at 13:00 daily!'
  DO
    DELETE FROM site_activity.sessions;

26
задан Vijay 28 September 2010 в 12:51
поделиться

1 ответ

Для работы вокруг неспособности использовать LIMIT с GROUP_CONCAT, можно сгруппироваться результатами запроса sub

, Этот запрос разбивает видео идентификаторы в группы 20 (но это могло быть ДЕЙСТВИТЕЛЬНО медленно на некоторых наборах данных)

select group_concat(v.id) as video_list
from videos as v
where v.duration=0
group by (
    select floor(count(v2.id)/20)
    from videos as v2
    where v2.duration=0
    and v2.id <= v.id
)

, С другой стороны, если Вы имеете много результатов, но не хотите такой медленный запрос, можно увеличиться до размера Вашего group_concat_max_len ( https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_group_concat_max_len) до Вашего max_allowed_packet ( https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_allowed_packet), если бы это все еще не достаточно длинно, необходимо было бы увеличить max_allowed_packet размер также.

0
ответ дан 28 November 2019 в 06:55
поделиться
Другие вопросы по тегам:

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