Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Hämta Lägsta Pris per Kategori | Sammanfogning av Tabeller
Intermediär SQL
Avsnitt 3. Kapitel 3
single

single

Utmaning: Hämta Lägsta Pris per Kategori

Svep för att visa menyn

Företaget behöver hitta lägsta priset på en produkt från varje kategori för att kunna organisera en marknadsföringskampanj. De har gett dig detta uppdrag!

Uppgift

Svep för att börja koda

Din uppgift är att hämta lägsta priset för varje produktkategori. För att ge kunderna fler valmöjligheter ska du dock endast ta med de kategorier där det finns fler än 5 unika produkter.

Du ska räkna antalet olika produkter i varje kategori med hjälp av COUNT(DISTINCT product.id) i din HAVING-sats. Detta säkerställer att du räknar unika produkter och inte bara det totala antalet produktrader (som kan innehålla dubbletter).

Sammanfoga två tabeller, aggregera datan och använd HAVING-satsen med COUNT(DISTINCT product.id) > 5. Avsluta med att sortera resultatet efter category_name i stigande ordning.

Observera att svaret ska innehålla 2 kolumner: category_name och min_price. Glöm därför inte att ange alias för dessa kolumner!

Kortfattade instruktioner

  • Hämta kolumnen category.name och det minsta värdet i kolumnen price från tabellerna.
  • Tilldela aliaset category_name till den första kolumnen och min_price till den andra.
  • Sammanfoga tabellen product på den gemensamma kolumnen category.id = product.category_id.
  • Gruppera datan efter category.name.
  • Använd en HAVING-sats med villkoret COUNT(DISTINCT product.id) > 5 för att räkna unika produkter per kategori.
  • Sortera resultaten efter category_name.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt