mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
138 lines
4.5 KiB
Text
138 lines
4.5 KiB
Text
drop table if exists sales;
|
|
create table sales ( product varchar(32), country varchar(32), year int, profit int);
|
|
insert into sales values ( 'Computer', 'India',2000, 1200),
|
|
( 'TV', 'United States', 1999, 150),
|
|
( 'Calculator', 'United States', 1999,50),
|
|
( 'Computer', 'United States', 1999,1500),
|
|
( 'Computer', 'United States', 2000,1500),
|
|
( 'TV', 'United States', 2000, 150),
|
|
( 'TV', 'India', 2000, 100),
|
|
( 'TV', 'India', 2000, 100),
|
|
( 'Calculator', 'United States', 2000,75),
|
|
( 'Calculator', 'India', 2000,75),
|
|
( 'TV', 'India', 1999, 100),
|
|
( 'Computer', 'India', 1999,1200),
|
|
( 'Computer', 'United States', 2000,1500),
|
|
( 'Calculator', 'United States', 2000,75);
|
|
select product, country , year, sum(profit) from sales group by product, country, year with cube;
|
|
product country year sum(profit)
|
|
Calculator India 2000 75
|
|
Calculator United States 1999 50
|
|
Calculator United States 2000 150
|
|
Computer India 1999 1200
|
|
Computer India 2000 1200
|
|
Computer United States 1999 1500
|
|
Computer United States 2000 3000
|
|
TV India 1999 100
|
|
TV India 2000 200
|
|
TV United States 1999 150
|
|
TV United States 2000 150
|
|
Calculator India 0 75
|
|
Calculator United States 0 200
|
|
Computer India 0 2400
|
|
Computer United States 0 4500
|
|
TV India 0 300
|
|
TV United States 0 300
|
|
Calculator ALL 1999 50
|
|
Calculator ALL 2000 225
|
|
Computer ALL 1999 2700
|
|
Computer ALL 2000 4200
|
|
TV ALL 1999 250
|
|
TV ALL 2000 350
|
|
ALL India 1999 1300
|
|
ALL India 2000 1475
|
|
ALL United States 1999 1700
|
|
ALL United States 2000 3300
|
|
Calculator ALL 0 275
|
|
Computer ALL 0 6900
|
|
TV ALL 0 600
|
|
ALL India 0 2775
|
|
ALL United States 0 5000
|
|
ALL ALL 1999 3000
|
|
ALL ALL 2000 4775
|
|
ALL ALL 0 7775
|
|
explain select product, country , year, sum(profit) from sales group by product, country, year with cube;
|
|
table type possible_keys key key_len ref rows Extra
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14
|
|
select product, country , year, sum(profit) from sales group by product, country, year with rollup;
|
|
product country year sum(profit)
|
|
Calculator India 2000 75
|
|
Calculator United States 1999 50
|
|
Calculator United States 2000 150
|
|
Computer India 1999 1200
|
|
Computer India 2000 1200
|
|
Computer United States 1999 1500
|
|
Computer United States 2000 3000
|
|
TV India 1999 100
|
|
TV India 2000 200
|
|
TV United States 1999 150
|
|
TV United States 2000 150
|
|
ALL India 1999 1300
|
|
ALL India 2000 1475
|
|
ALL United States 1999 1700
|
|
ALL United States 2000 3300
|
|
ALL ALL 1999 3000
|
|
ALL ALL 2000 4775
|
|
ALL ALL 0 7775
|
|
explain select product, country , year, sum(profit) from sales group by product, country, year with rollup;
|
|
table type possible_keys key key_len ref rows Extra
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14 Using temporary; Using filesort
|
|
sales ALL NULL NULL NULL NULL 14
|
|
select product, country , year, sum(profit) from sales group by product, country, year with cube union all select product, country , year, sum(profit) from sales group by product, country, year with rollup;
|
|
product country year sum(profit)
|
|
Calculator India 2000 75
|
|
Calculator United States 1999 50
|
|
Calculator United States 2000 150
|
|
Computer India 1999 1200
|
|
Computer India 2000 1200
|
|
Computer United States 1999 1500
|
|
Computer United States 2000 3000
|
|
TV India 1999 100
|
|
TV India 2000 200
|
|
TV United States 1999 150
|
|
TV United States 2000 150
|
|
Calculator India 0 75
|
|
Calculator United States 0 200
|
|
Computer India 0 2400
|
|
Computer United States 0 4500
|
|
TV India 0 300
|
|
TV United States 0 300
|
|
Calculator ALL 1999 50
|
|
Calculator ALL 2000 225
|
|
Computer ALL 1999 2700
|
|
Computer ALL 2000 4200
|
|
TV ALL 1999 250
|
|
TV ALL 2000 350
|
|
ALL India 1999 1300
|
|
ALL India 2000 1475
|
|
ALL United States 1999 1700
|
|
ALL United States 2000 3300
|
|
Calculator ALL 0 275
|
|
Computer ALL 0 6900
|
|
TV ALL 0 600
|
|
ALL India 0 2775
|
|
ALL United States 0 5000
|
|
ALL ALL 1999 3000
|
|
ALL ALL 2000 4775
|
|
ALL ALL 0 7775
|
|
Calculator India 2000 75
|
|
Calculator United States 1999 50
|
|
Calculator United States 2000 150
|
|
Computer India 1999 1200
|
|
Computer India 2000 1200
|
|
Computer United States 1999 1500
|
|
Computer United States 2000 3000
|
|
TV India 1999 100
|
|
TV India 2000 200
|
|
TV United States 1999 150
|
|
TV United States 2000 150
|
|
drop table sales;
|