Topfolio
Career TracksMicro Free CoursesTask CoursesPracticeInterview PracticeWork ExperienceProjects
Career TrackBlog
Support
Dashboard
Career TracksMicro Free CoursesTask Courses
SQL & Python
Interview Prep
Work ExperienceProjectsResume Feedback
CertificatesMy OrdersRefer & Earn
Join Community

Navigation

Dashboard
Learn
Career TracksMicro Free CoursesTask Courses
Practice
SQL & PythonInterview Prep
Career
Work ExperienceProjectsResume Feedback
My Stuff
CertificatesMy OrdersRefer & Earn
Join Community
Topfolio

Learn data analytics online. Real skills, real projects, real community.

courses

  • Career Tracks
  • Work Experience
  • Best Data Analyst Course in India
  • SQL Fundamentals
  • SQL Advanced
  • Python for Data
  • Micro Free Courses

practice

  • SQL Fundamentals Interview Test
  • SQL Advanced Coding Test
  • All Practice Tests

resources

  • How to Become a Data Analyst
  • SQL Interview Questions
  • Data Analyst Salary Guide
  • Free Datasets for Practice
  • SQL vs NoSQL Guide
  • Data Analyst vs Data Engineer vs Data Scientist

employers

  • Enterprise Screening
  • AI Proctoring Demo
  • Volume Pricing
  • Employer Portal

company

  • About
  • Terms
© 2026 Topfolio. All rights reserved.Made with ❤️ for aspiring analysts
Topfolio
Career TracksMicro Free CoursesTask CoursesPracticeInterview PracticeWork ExperienceProjects
Career TrackBlog
Support
Dashboard
Career TracksMicro Free CoursesTask Courses
SQL & Python
Interview Prep
Work ExperienceProjectsResume Feedback
CertificatesMy OrdersRefer & Earn
Join Community

Navigation

Dashboard
Learn
Career TracksMicro Free CoursesTask Courses
Practice
SQL & PythonInterview Prep
Career
Work ExperienceProjectsResume Feedback
My Stuff
CertificatesMy OrdersRefer & Earn
Join Community

Top 3 Tracks per Genre by Sales

advanced~12 min40 pts
📊 View Insights

Problem

For each genre, find the top 3 tracks by units sold.

Schema: InvoiceLine

ColumnType
InvoiceLineIdINTEGER (PK)
InvoiceIdINTEGER (FK)
TrackIdINTEGER (FK)
UnitPriceNUMERIC(10,2) NOT NULL
QuantityINTEGER NOT NULL

Schema: Track

ColumnType
TrackIdINTEGER (PK)
NameTEXT NOT NULL
AlbumIdINTEGER (FK → Album)
MediaTypeIdINTEGER (FK → MediaType)
GenreIdINTEGER (FK → Genre)
ComposerTEXT
MillisecondsINTEGER NOT NULL
BytesINTEGER
UnitPriceNUMERIC(10,2) NOT NULL

Schema: Genre

ColumnType
GenreIdINTEGER (PK)
NameTEXT

Requirements:

  • Sum InvoiceLine.Quantity per (Track, Genre)
  • Rank within each genre by UnitsSold descending, breaking ties by TrackName ascending
  • Keep only ranks 1, 2, 3
  • Return Genre, TrackName, UnitsSold, GenreRank
  • Sort by Genre ascending, then GenreRank ascending
CTEWindow FunctionsROW_NUMBERPARTITION BYJOINAmazon
📊
📊 View Question Telemetry & Insights
Failure rate, silent bug autopsy & optimal query construction
Inspect →

Master SQL & Data Analytics

Ready to take your skills to the next level? Enroll in our comprehensive Data Analyst Career Track to master SQL, Python, Excel, and Power BI.

Explore the 12-Week Data Analyst Career Track

Related questions

  • Albums with Artist Namesintermediate
  • Tracks with Genre Namesintermediate
  • Customer Purchase Historyintermediate
  • Track Count by Genreintermediate
  • Average Song Duration by Genreintermediate
  • Top 5 Countries by Salesbeginner
  • Most Prolific Artistsintermediate
  • Number Tracks Within Albumsintermediate
SQL Editor

Run your code to see the result here.

Topfolio

Learn data analytics online. Real skills, real projects, real community.

courses

  • Career Tracks
  • Work Experience
  • Best Data Analyst Course in India
  • SQL Fundamentals
  • SQL Advanced
  • Python for Data
  • Micro Free Courses

practice

  • SQL Fundamentals Interview Test
  • SQL Advanced Coding Test
  • All Practice Tests

resources

  • How to Become a Data Analyst
  • SQL Interview Questions
  • Data Analyst Salary Guide
  • Free Datasets for Practice
  • SQL vs NoSQL Guide
  • Data Analyst vs Data Engineer vs Data Scientist

employers

  • Enterprise Screening
  • AI Proctoring Demo
  • Volume Pricing
  • Employer Portal

company

  • About
  • Terms
© 2026 Topfolio. All rights reserved.Made with ❤️ for aspiring analysts