Guest User

Untitled

a guest
Jan 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. drop table if exists mega_table;
  2.  
  3. set @max_rel_return_id = -1;
  4. set @counter = 0;
  5. set @last_counter = 0;
  6.  
  7. create table mega_table (
  8.  select
  9.    @max_rel_return_id := IF(counter = @counter AND @counter > 0, @max_rel_return_id, 0) as "swap"
  10.    , @counter := counter as "counter"
  11.    , (select returns.reason from returns where returns.counter = @counter and id > @max_rel_return_id order by id asc limit 1) as "reason"
  12.    , @max_rel_return_id := (select returns.id from returns where returns.counter = @counter and id > @max_rel_return_id order by id asc limit 1) as "return_id"
  13.  from (
  14.    select * from things order by counter asc, id asc
  15.  ) as things_ordered
  16.  order by things_ordered.counter desc
  17. );
  18.  
  19. alter table mega_table drop column swap;
  20.  
  21. select * from mega_table;
Add Comment
Please, Sign In to add comment