Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 675713
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T00:50:55+00:00 2026-05-14T00:50:55+00:00

I have table to test score data that I need to pivot and I

  • 0

I have table to test score data that I need to pivot and I am stuck on how to do it.

I have the data as this:

gradelistening speaking reading writing
0   0.0   0.0   0.0   0.0
1 399.4 423.8   0.0   0.0
2 461.6 508.4 424.2 431.5
3 501.0 525.9 492.8 491.3
4 521.9 517.4 488.7 486.7
5 555.1 581.1 547.2 538.2
6 562.7 545.5 498.2 530.2
7 560.5 525.8 545.3 562.0
8 580.9 548.7 551.4 560.3
9 602.4 550.2 586.8 564.1
10 623.4 581.1 589.9 568.5
11 633.3 578.3 598.1 568.2
12 626.0 588.8 600.5 564.8

But I need it like this:

  gr0 gr1 gr2 gr3 gr4 gr5 gr6 gr7 ...
listening 0.0 399.4 461.6 501.0 521.9 555.1 562.7 560.5 580.9...
speaking 0.0 423.8...
reading 0.0 0.0 424.2...
writing 0.0 0.0 431.5...

I don’t need to aggregate anything, just pivot the data.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T00:50:55+00:00Added an answer on May 14, 2026 at 12:50 am

    The following is one way to solve the problem, but I am not sure if it is the most efficient.

    DECLARE @PivotData table(grade int, listening float, speaking float, reading float, writing float)
    INSERT into @PivotData
    SELECT 0, 0.0, 0.0, 0.0, 0.0 UNION ALL
    SELECT 1, 399.4, 423.8, 0.0, 0.0 UNION ALL
    SELECT 2, 461.6, 508.4, 424.4, 431.5 UNION ALL
    SELECT 3, 501.0, 525.9, 492.8, 491.3
    
    SELECT TestType, [0] As gr0, [1] as gr1, [2] as gr2, [3] as gr3
    FROM
    (
        SELECT grade, TestType, score
        FROM 
        (
            SELECT grade, listening, speaking, reading, writing from @PivotData
        ) PivotData
        UNPIVOT
        (
            score for TestType IN (listening, speaking, reading, writing)
        ) as initialUnPivot
    ) as PivotSource
    PIVOT 
    (
        max(score) FOR grade IN ([0], [1], [2], [3])
    ) as PivotedData
    

    Basically what I did was to initially unpivot the data to get a table that contains the grade, testtype, and score each in its own column, then I pivoted the data to get the answer you want. The fact that my UnPivoted source data contains the TestType column makes it so that each combination of grade and testype returns a single score, so all aggregations will just return that particular score for the combination and will not perform anything on it.

    I have only done it for the first 4 grades, but I am pretty sure you can tell what you need to add to have it work for all 13 grades.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have table rows of data in html being filled from a CGI application.
Imagine I have table like this: id:Product:shop_id 1:Basketball:41 2:Football:41 3:Rocket:45 4:Car:86 5:Plane:86 Now, this
I have a table with more than a millon rows. This table is used
I have a table in a SQL Server 2005 database with a trigger that
I have a table which is full of arbitrarily formatted phone numbers, like this
I have table inside a div tab. The table has 40 rows in it
I have table with 50 entries (users with such details like Name Surname Location
While trying to use LINQ to SQL I encountered several problems. I have table
I have a table story_category in my database with corrupt entries. The next query
I have a table with a structure like the following: LocationID AccountNumber long-guid-here 12345

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.