原始数据如下:,我通过新建临时表temp,然后从原始表中插入数据得到temp,就是开贴图,然后如何对齐比较头疼。其实我已经通过外连接的方式在oracle中实现另外对齐:,或者在oracle中用lag over方式实现。但是感觉不是很好,想要改进。 原始表结构为: create table b_record(readerID int,bookID int,browstime varchar(30));以下是创建临时表的代码: create table temp(reader1 varchar(20),reader2 varchar(20),reader3 varchar(20));insert into temp(reader1) select browstime from b_record where readerID=1; insert into temp(reader2) select browstime from b_record where readerID=2; insert into temp(reader3) select browstime from b_record where readerID=3;以下为对齐代码 select a.reader1,b.reader2,c.reader3 from temp a right join temp b on a.rowid=b.rowid-3 left join temp c on c.rowid=b.rowid+5 where b.rowid>=4 and b.rowid<=8;我想知道mysql中有没有好的实现方式
原始表结构为:
create table b_record(readerID int,bookID int,browstime varchar(30));以下是创建临时表的代码:
create table temp(reader1 varchar(20),reader2 varchar(20),reader3 varchar(20));insert into temp(reader1) select browstime from b_record where readerID=1;
insert into temp(reader2) select browstime from b_record where readerID=2;
insert into temp(reader3) select browstime from b_record where readerID=3;以下为对齐代码
select a.reader1,b.reader2,c.reader3 from
temp a right join temp b on a.rowid=b.rowid-3
left join temp c on c.rowid=b.rowid+5
where b.rowid>=4 and b.rowid<=8;我想知道mysql中有没有好的实现方式