У меня есть следующий фрейм данных. Я хочу создать новую таблицу с 4 наиболее просматриваемыми страницами на пользователя (количество страниц и количество просмотров).
Итак, мне нужно транспонировать следующие столбцы: страница, количество и рейтинг.
Обратите внимание, что переменная для заказа является рангом, и не обязательно все имена были на всех страницах. Обязательно должно быть 4 столбца.
drop table sessions;
CREATE TABLE IF NOT EXISTS sessions (
id int(11),
name varchar(10),
page varchar(10),
quantity int(11),
rank int(11)
);
insert into sessions values (1,'joan','home',15,1);
insert into sessions values (1,'joan','search',8,2);
insert into sessions values (1,'joan','vip',4,3);
insert into sessions values (1,'joan','checkout',2,4);
insert into sessions values (2,'fill','home',20,1);
insert into sessions values (2,'fill','vip',2,2);
insert into sessions values (3,'mery','search',10,1);
insert into sessions values (3,'mery','checkout',7,2);
insert into sessions values (3,'mery','home',5,3);
id name page quantity rank
1. joan home 15 1
1. joan search 8 2
1 joan vip 4 3
1 joan checkout 2 4
2 fill home 20 1
2 fill vip 2 2
3 mery search 10 1
3 mery checkout 7 2
3 mery home 5 3
Окончательный желаемый результат.
id name page1 quantity1 page2 quantity2 page3 quantity3 page4 quantity4
1 joan home 15 search 8 vip 4 checkout 2
2 fill home 20 vip 2
3 mery search 10 checkout 7 home 5