Use SQL to perform pivot tables, and convert rows and columns of database tables (usage of tables and unstatements) (1 ).

Source: Internet
Author: User

Use SQL to perform pivot tables, and convert rows and columns of database tables (usage of tables and unstatements) (1 ).

As you all know in mssql, you can use the pivot to collect statistics and implement the pivot table function like excel.

I. Common usage in MSsqlserver

1. SQL Server database test --- Create table s ([name] nvarchar (50), book nvarchar (50), saledNumber int) ---- insert test data insert into s ([name], book, saledNumber) values ('John ', 'java from entry to Master', 10 ); insert into s ([name], book, saledNumber) values ('lil', 'java from entry to Master', 15); insert into s ([name], book, saledNumber) values ('wang ', 'c # advanced programming', 8); insert into s ([name], book, saledNumber) values ('lily ', 'java from entry to Master', 7); insert into s ([name], book, saledNumber) values ('John ', 'java from entry to Master', 9 ); insert into s ([name], book, saledNumber) values ('lil', 'java from entry to Master', 2); insert into s ([name], book, saledNumber) values ('wang ', 'c # advanced programming', 3); insert into s ([name], book, saledNumber) values ('lily ', 'java from entry to Master', 5); insert into s ([name], book, saledNumber) values ('lil', 'c # advanced programming ', 5 ); --- 1. SELECT [name] In case when mode, sum (case book when 'java from getting started to mastering 'then saledNumber else 0 end) as [java from getting started to proficient], sum (case book when 'C # advanced programming 'then saledNumber else 0 end) as [C # advanced programming], sum (saledNumber) as [sum] from s group by [name] --- 2. Use Limit tselect sa. name, sa. java from entry to mastery, sa. C # advanced programming, sa. java from entry to proficiency + sa. C # advanced programming as from s aggregation (sum (saledNumber) for book in (java from entry to proficiency, C # advanced programming) sa

  

Ii. oracle usage

--- Create test table Create table s (name varchar (50), book varchar (50), saledNumber number (9) ---- insert test data into s (name, book, saledNumber) values ('little king', 'java from entry to Master', 10); insert into s (name, book, saledNumber) values ('lily ', 'java from entry to Master', 15); insert into s (name, book, saledNumber) values ('John ', 'c # advanced programming', 8 ); insert into s (name, book, saledNumber) values ('lil', 'java from entry to Master', 7); insert into s (name, book, saledNumber) values ('little king', 'java from entry to Master', 9); insert into s (name, book, saledNumber) values ('lily ', 'java from entry to Master', 2); insert into s (name, book, saledNumber) values ('John ', 'c # advanced programming', 3 ); insert into s (name, book, saledNumber) values ('lil', 'java from entry to Master', 5); insert into s (name, book, saledNumber) values ('lil', 'c # advanced programming ', 5); ------- 1. SELECT name through case when, sum (case book when 'java from entry to master' then saledNumber else 0 end) as java from entry to mastery, sum (case book when 'C # advanced programming 'then saledNumber else 0 end) as C # advanced programming, sum (saledNumber) as sum from s group by name; --- 2. Use fig (select name, saledNumber, book from s group by name, saledNumber, book) aggregate (sum (saledNumber) for book in ('java from entry to Master', 'c # advanced programming '));

  

If the description is unclear or there is something wrong, we hope you can correct it.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.