Ответы пользователя по тегу MySQL
  • Выбор последнего события за промежуток времени

    weirdan
    @weirdan
    В зависимости от объема выборки, может иметь смысл сделать через временную таблицу с unique index:
    create temporary table tablename_uniq like tablename;
    alter table tablename_uniq 
      add column record_date date, 
      add unique index (object_id, record_date);
    insert ignore into tablename_uniq 
      select id, object_id, time, type_event, cast(time as date) 
      from tablename 
      /* where time between @range_start and @range_end */ 
      order by time desc;
    select id, object_id, time, type_event from tablename_uniq;
    drop temporary table tablename_uniq;
    
    Ответ написан
    Комментировать