在一列中合并两行数据
Combine Data of Two Rows in One Column
查询:
SELECT *
FROM MYTABLE
WHERE
(custom_date BETWEEN '16-MAR-15'
AND '15-APR-15'))
pivot(SUM(user_value) FOR custom_date IN(to_date('16/03/2015', 'DD/MM/YYYY') AS
day16, to_date('17/03/2015', 'DD/MM/YYYY') AS
day17, to_date('18/03/2015', 'DD/MM/YYYY') AS
day18, to_date('19/03/2015', 'DD/MM/YYYY') AS
day19, to_date('20/03/2015', 'DD/MM/YYYY') AS
day20, to_date('21/03/2015', 'DD/MM/YYYY') AS
day21, to_date('22/03/2015', 'DD/MM/YYYY') AS
day22, to_date('23/03/2015', 'DD/MM/YYYY') AS
day23, to_date('24/03/2015', 'DD/MM/YYYY') AS
day24, to_date('25/03/2015', 'DD/MM/YYYY') AS
day25, to_date('26/03/2015', 'DD/MM/YYYY') AS
day26, to_date('27/03/2015', 'DD/MM/YYYY') AS
day27, to_date('28/03/2015', 'DD/MM/YYYY') AS
day28, to_date('29/03/2015', 'DD/MM/YYYY') AS
day29, to_date('30/03/2015', 'DD/MM/YYYY') AS
day30, to_date('31/03/2015', 'DD/MM/YYYY') AS
day31, to_date('01/04/2015', 'DD/MM/YYYY') AS
day01, to_date('02/04/2015', 'DD/MM/YYYY') AS
day02, to_date('03/04/2015', 'DD/MM/YYYY') AS
day03, to_date('04/04/2015', 'DD/MM/YYYY') AS
day04, to_date('05/04/2015', 'DD/MM/YYYY') AS
day05, to_date('06/04/2015', 'DD/MM/YYYY') AS
day06, to_date('07/04/2015', 'DD/MM/YYYY') AS
day07, to_date('08/04/2015', 'DD/MM/YYYY') AS
day08, to_date('09/04/2015', 'DD/MM/YYYY') AS
day09, to_date('10/04/2015', 'DD/MM/YYYY') AS
day10, to_date('11/04/2015', 'DD/MM/YYYY') AS
day11, to_date('12/04/2015', 'DD/MM/YYYY') AS
day12, to_date('13/04/2015', 'DD/MM/YYYY') AS
day13, to_date('14/04/2015', 'DD/MM/YYYY') AS
day14, to_date('15/04/2015', 'DD/MM/YYYY') AS
day15))
ORDER BY username;
查询输出两个月的数据Mar-Apr 2015
,如图所示。第一行是 Mar-15
月份,第二行是 Apr-15
.
月份
如图所示,DAY 29, DAY 30, DAY 31
为 Mar-15
填充了值 8
,为 Apr-15
填充了 null
。
对于 Apr-15
,DAY 01, DAY 02, DAY 03
的值为 8
,而 null
对于“3 月 15 日”。
如何合并两者的数据 Mar-Apr 2015
以显示如下
请尝试这个查询:
`SELECT sum(day16 ) as day16 ,
sum(day17 ) as day17 ,
sum(day18 ) as day18 ,
sum(day19 ) as day19 ,
sum(day20 ) as day20 ,
sum(day21 ) as day21 ,
sum(day22 ) as day22 ,
sum(day23 ) as day23 ,
sum(day24 ) as day24 ,
sum(day25 ) as day25 ,
sum(day26 ) as day26 ,
sum(day27 ) as day27 ,
sum(day28 ) as day28 ,
sum(day29 ) as day29 ,
sum(day30 ) as day30 ,
sum(day31 ) as day31 ,
sum(day01 ) as day01 ,
sum(day02 ) as day02 ,
sum(day03 ) as day03 ,
sum(day04 ) as day04 ,
sum(day05 ) as day05 ,
sum(day06 ) as day06 ,
sum(day07 ) as day07 ,
sum(day08 ) as day08 ,
sum(day09 ) as day09 ,
sum(day10 ) as day10 ,
sum(day11 ) as day11 ,
sum(day12 ) as day12 ,
sum(day13 ) as day13 ,
sum(day14 ) as day14 ,
sum(day15 ) as day15 ,
username
FROM MYTABLE
WHERE
(custom_date BETWEEN '16-MAR-15'
AND '15-APR-15'))
pivot(SUM(user_value) FOR custom_date IN(to_date('16/03/2015', 'DD/MM/YYYY') AS
day16, to_date('17/03/2015', 'DD/MM/YYYY') AS
day17, to_date('18/03/2015', 'DD/MM/YYYY') AS
day18, to_date('19/03/2015', 'DD/MM/YYYY') AS
day19, to_date('20/03/2015', 'DD/MM/YYYY') AS
day20, to_date('21/03/2015', 'DD/MM/YYYY') AS
day21, to_date('22/03/2015', 'DD/MM/YYYY') AS
day22, to_date('23/03/2015', 'DD/MM/YYYY') AS
day23, to_date('24/03/2015', 'DD/MM/YYYY') AS
day24, to_date('25/03/2015', 'DD/MM/YYYY') AS
day25, to_date('26/03/2015', 'DD/MM/YYYY') AS
day26, to_date('27/03/2015', 'DD/MM/YYYY') AS
day27, to_date('28/03/2015', 'DD/MM/YYYY') AS
day28, to_date('29/03/2015', 'DD/MM/YYYY') AS
day29, to_date('30/03/2015', 'DD/MM/YYYY') AS
day30, to_date('31/03/2015', 'DD/MM/YYYY') AS
day31, to_date('01/04/2015', 'DD/MM/YYYY') AS
day01, to_date('02/04/2015', 'DD/MM/YYYY') AS
day02, to_date('03/04/2015', 'DD/MM/YYYY') AS
day03, to_date('04/04/2015', 'DD/MM/YYYY') AS
day04, to_date('05/04/2015', 'DD/MM/YYYY') AS
day05, to_date('06/04/2015', 'DD/MM/YYYY') AS
day06, to_date('07/04/2015', 'DD/MM/YYYY') AS
day07, to_date('08/04/2015', 'DD/MM/YYYY') AS
day08, to_date('09/04/2015', 'DD/MM/YYYY') AS
day09, to_date('10/04/2015', 'DD/MM/YYYY') AS
day10, to_date('11/04/2015', 'DD/MM/YYYY') AS
day11, to_date('12/04/2015', 'DD/MM/YYYY') AS
day12, to_date('13/04/2015', 'DD/MM/YYYY') AS
day13, to_date('14/04/2015', 'DD/MM/YYYY') AS
day14, to_date('15/04/2015', 'DD/MM/YYYY') AS
day15))
GROUP BY username
ORDER BY username;`
这会将所有行合计为一个。
查询:
SELECT *
FROM MYTABLE
WHERE
(custom_date BETWEEN '16-MAR-15'
AND '15-APR-15'))
pivot(SUM(user_value) FOR custom_date IN(to_date('16/03/2015', 'DD/MM/YYYY') AS
day16, to_date('17/03/2015', 'DD/MM/YYYY') AS
day17, to_date('18/03/2015', 'DD/MM/YYYY') AS
day18, to_date('19/03/2015', 'DD/MM/YYYY') AS
day19, to_date('20/03/2015', 'DD/MM/YYYY') AS
day20, to_date('21/03/2015', 'DD/MM/YYYY') AS
day21, to_date('22/03/2015', 'DD/MM/YYYY') AS
day22, to_date('23/03/2015', 'DD/MM/YYYY') AS
day23, to_date('24/03/2015', 'DD/MM/YYYY') AS
day24, to_date('25/03/2015', 'DD/MM/YYYY') AS
day25, to_date('26/03/2015', 'DD/MM/YYYY') AS
day26, to_date('27/03/2015', 'DD/MM/YYYY') AS
day27, to_date('28/03/2015', 'DD/MM/YYYY') AS
day28, to_date('29/03/2015', 'DD/MM/YYYY') AS
day29, to_date('30/03/2015', 'DD/MM/YYYY') AS
day30, to_date('31/03/2015', 'DD/MM/YYYY') AS
day31, to_date('01/04/2015', 'DD/MM/YYYY') AS
day01, to_date('02/04/2015', 'DD/MM/YYYY') AS
day02, to_date('03/04/2015', 'DD/MM/YYYY') AS
day03, to_date('04/04/2015', 'DD/MM/YYYY') AS
day04, to_date('05/04/2015', 'DD/MM/YYYY') AS
day05, to_date('06/04/2015', 'DD/MM/YYYY') AS
day06, to_date('07/04/2015', 'DD/MM/YYYY') AS
day07, to_date('08/04/2015', 'DD/MM/YYYY') AS
day08, to_date('09/04/2015', 'DD/MM/YYYY') AS
day09, to_date('10/04/2015', 'DD/MM/YYYY') AS
day10, to_date('11/04/2015', 'DD/MM/YYYY') AS
day11, to_date('12/04/2015', 'DD/MM/YYYY') AS
day12, to_date('13/04/2015', 'DD/MM/YYYY') AS
day13, to_date('14/04/2015', 'DD/MM/YYYY') AS
day14, to_date('15/04/2015', 'DD/MM/YYYY') AS
day15))
ORDER BY username;
查询输出两个月的数据Mar-Apr 2015
,如图所示。第一行是 Mar-15
月份,第二行是 Apr-15
.
如图所示,DAY 29, DAY 30, DAY 31
为 Mar-15
填充了值 8
,为 Apr-15
填充了 null
。
对于 Apr-15
,DAY 01, DAY 02, DAY 03
的值为 8
,而 null
对于“3 月 15 日”。
如何合并两者的数据 Mar-Apr 2015
以显示如下
请尝试这个查询:
`SELECT sum(day16 ) as day16 ,
sum(day17 ) as day17 ,
sum(day18 ) as day18 ,
sum(day19 ) as day19 ,
sum(day20 ) as day20 ,
sum(day21 ) as day21 ,
sum(day22 ) as day22 ,
sum(day23 ) as day23 ,
sum(day24 ) as day24 ,
sum(day25 ) as day25 ,
sum(day26 ) as day26 ,
sum(day27 ) as day27 ,
sum(day28 ) as day28 ,
sum(day29 ) as day29 ,
sum(day30 ) as day30 ,
sum(day31 ) as day31 ,
sum(day01 ) as day01 ,
sum(day02 ) as day02 ,
sum(day03 ) as day03 ,
sum(day04 ) as day04 ,
sum(day05 ) as day05 ,
sum(day06 ) as day06 ,
sum(day07 ) as day07 ,
sum(day08 ) as day08 ,
sum(day09 ) as day09 ,
sum(day10 ) as day10 ,
sum(day11 ) as day11 ,
sum(day12 ) as day12 ,
sum(day13 ) as day13 ,
sum(day14 ) as day14 ,
sum(day15 ) as day15 ,
username
FROM MYTABLE
WHERE
(custom_date BETWEEN '16-MAR-15'
AND '15-APR-15'))
pivot(SUM(user_value) FOR custom_date IN(to_date('16/03/2015', 'DD/MM/YYYY') AS
day16, to_date('17/03/2015', 'DD/MM/YYYY') AS
day17, to_date('18/03/2015', 'DD/MM/YYYY') AS
day18, to_date('19/03/2015', 'DD/MM/YYYY') AS
day19, to_date('20/03/2015', 'DD/MM/YYYY') AS
day20, to_date('21/03/2015', 'DD/MM/YYYY') AS
day21, to_date('22/03/2015', 'DD/MM/YYYY') AS
day22, to_date('23/03/2015', 'DD/MM/YYYY') AS
day23, to_date('24/03/2015', 'DD/MM/YYYY') AS
day24, to_date('25/03/2015', 'DD/MM/YYYY') AS
day25, to_date('26/03/2015', 'DD/MM/YYYY') AS
day26, to_date('27/03/2015', 'DD/MM/YYYY') AS
day27, to_date('28/03/2015', 'DD/MM/YYYY') AS
day28, to_date('29/03/2015', 'DD/MM/YYYY') AS
day29, to_date('30/03/2015', 'DD/MM/YYYY') AS
day30, to_date('31/03/2015', 'DD/MM/YYYY') AS
day31, to_date('01/04/2015', 'DD/MM/YYYY') AS
day01, to_date('02/04/2015', 'DD/MM/YYYY') AS
day02, to_date('03/04/2015', 'DD/MM/YYYY') AS
day03, to_date('04/04/2015', 'DD/MM/YYYY') AS
day04, to_date('05/04/2015', 'DD/MM/YYYY') AS
day05, to_date('06/04/2015', 'DD/MM/YYYY') AS
day06, to_date('07/04/2015', 'DD/MM/YYYY') AS
day07, to_date('08/04/2015', 'DD/MM/YYYY') AS
day08, to_date('09/04/2015', 'DD/MM/YYYY') AS
day09, to_date('10/04/2015', 'DD/MM/YYYY') AS
day10, to_date('11/04/2015', 'DD/MM/YYYY') AS
day11, to_date('12/04/2015', 'DD/MM/YYYY') AS
day12, to_date('13/04/2015', 'DD/MM/YYYY') AS
day13, to_date('14/04/2015', 'DD/MM/YYYY') AS
day14, to_date('15/04/2015', 'DD/MM/YYYY') AS
day15))
GROUP BY username
ORDER BY username;`
这会将所有行合计为一个。