MySQL Product by Row Prices by Column
|
id |
c1 |
c2 |
c3 |
1 |
1 |
23 |
NULL |
NULL |
2 |
2 |
14 |
20 |
23 |
3 |
3 |
30 |
40 |
NULL |
|
@sql |
1 |
select id, max(case when RowNumber=1 then Price else NULL end) as c1, max(case when RowNumber=2 then Price else NULL end) as c2, max(case when RowNumber=3 then Price else NULL end) as c3 from (
select
@row_num := IF(@prev_value = p.id, @row_num+1, 1) AS RowNumber
, id
, price
, @prev_value := p.id
from (select distinct id, price from pricehistory) p
CROSS JOIN ( SELECT @row_num :=1, @prev_value :='' ) vars
order by id, price
) d
Group By `id` |
|
λ
.NET NoSQL database for rapid development
|