Solutions
LeetCode
LeetCode
  • Introduction
  • Problems
    • Algorithms
      • Easy
        • 844. Backspace String Compare
        • 905. Sort Array By Parity
    • Database
      • Easy
        • #175 Combine Two Tables
        • #181 Employees Earning More Than Their Managers
        • #182 Duplicate Emails
        • #183 Customers Who Never Order
        • #196 Delete Duplicate Emails
        • #197 Rising Temperature
        • #511 Game Play Analysis I
        • #584 Find Customer Referee
        • #586 Customer Placing the Largest Number of Orders
        • #595 Big Countries
        • #596 Classes More Than 5 Students
        • #607 Sales Person
        • #620 Not Boring Movies
        • #627 Swap Salary
        • #1050 Actors and Directors Who Cooperated At Least Three Times
        • #1084 Sales Analysis III
        • #1141 User Activity for the Past 30 Days I
        • #1148 Article Views I
        • #1179 Reformat Department Table
        • #1407 Top Travellers
        • #1484 Group Sold Products By The Date
        • #1527 Patients With a Condition
        • #1581 Customer Who Visited but Did Not Make Any Transactions
        • #1587 Bank Account Summary II
        • #1667 Fix Names in a Table
        • #1693 Daily Leads and Partners
        • #1729 Find Followers Count
        • #1741 Find Total Time Spent by Each Employee
        • #1757 Recyclable and Low Fat Products
        • #1795 Rearrange Products Table
        • #1873 Calculate Special Bonus
        • #1890 The Latest Login in 2020
        • #1965 Employees With Missing Information
      • Medium
        • #176 Second Highest Salary
        • #177 Nth Highest Salary
    • Shell
      • Easy
        • #193 Valid Phone Numbers
        • #195 Tenth Line
Powered by GitBook
On this page

Was this helpful?

  1. Problems
  2. Database
  3. Easy

#1179 Reformat Department Table

Previous#1148 Article Views INext#1407 Top Travellers

Last updated 3 years ago

Was this helpful?

SELECT id, 
    [Jan] AS [Jan_Revenue], [Feb] AS [Feb_Revenue], [Mar] AS [Mar_Revenue],
    [Apr] AS [Apr_Revenue], [May] AS [May_Revenue], [Jun] AS [Jun_Revenue],
    [Jul] AS [Jul_Revenue], [Aug] AS [Aug_Revenue], [Sep] AS [Sep_Revenue],
    [Oct] AS [Oct_Revenue], [Nov] AS [Nov_Revenue], [Dec] AS [Dec_Revenue]
FROM (
    SELECT id, month, revenue FROM Department) AS sr
    PIVOT(SUM(revenue) FOR month IN(
        [Jan], [Feb], [Mar], [Apr], [May], [Jun],
        [Jul], [Aug], [Sep], [Oct], [Nov], [Dec]
    )
) AS pv

SELECT id,
    SUM(CASE WHEN month = 'Jan' THEN revenue END) AS Jan_Revenue,
    SUM(CASE WHEN month = 'Feb' THEN revenue END) AS Feb_Revenue,
    SUM(CASE WHEN month = 'Mar' THEN revenue END) AS Mar_Revenue,
    SUM(CASE WHEN month = 'Apr' THEN revenue END) AS Apr_Revenue,
    SUM(CASE WHEN month = 'May' THEN revenue END) AS May_Revenue,
    SUM(CASE WHEN month = 'Jun' THEN revenue END) AS Jun_Revenue,   
    SUM(CASE WHEN month = 'Jul' THEN revenue END) AS Jul_Revenue,   
    SUM(CASE WHEN month = 'Aug' THEN revenue END) AS Aug_Revenue,
    SUM(CASE WHEN month = 'Sep' THEN revenue END) AS Sep_Revenue,
    SUM(CASE WHEN month = 'Oct' THEN revenue END) AS Oct_Revenue,
    SUM(CASE WHEN month = 'Nov' THEN revenue END) AS Nov_Revenue,
    SUM(CASE WHEN month = 'Dec' THEN revenue END) AS Dec_Revenue
FROM Department
GROUP BY id

https://leetcode.com/problems/reformat-department-table/