Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Minimihinnan Hakeminen Kategorian Mukaan | Taulujen Yhdistäminen
SQL Jatkotasolla
Osio 3. Luku 3
single

single

Haaste: Minimihinnan Hakeminen Kategorian Mukaan

Pyyhkäise näyttääksesi valikon

Yrityksen täytyy selvittää jokaisen kategorian alin hinta tuotteista markkinointikampanjaa varten. Sinut on valittu tähän tehtävään!

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Tehtävänäsi on hakea alin hinta jokaiselle tuotekategorialle. Tarjotaksesi asiakkaille vaihtoehtoja, sinun tulee kuitenkin hakea vain ne kategoriat, joissa on yli 5 erilaista tuotetta.

Laske eri tuotteiden määrä jokaisessa kategoriassa käyttämällä COUNT(DISTINCT product.id) -lauseketta HAVING-ehdossa. Näin varmistat, että lasket vain yksilölliset tuotteet, etkä pelkästään tuoterivien kokonaismäärää (jossa voi olla duplikaatteja).

Yhdistä kaksi taulua, tee aggregointi ja käytä HAVING-ehtoa COUNT(DISTINCT product.id) > 5. Lopuksi järjestä tulos category_name-sarakkeen mukaan nousevaan järjestykseen.

Huomioi, että vastauksessa tulee olla 2 saraketta: category_name ja min_price. Muista siis asettaa aliakset näille sarakkeille!

Lyhyet ohjeet

  • Hae category.name-sarake ja pienin arvo price-sarakkeesta tauluista.
  • Anna ensimmäiselle sarakkeelle alias category_name ja toiselle alias min_price.
  • Yhdistä product-taulu yhteisen sarakkeen category.id = product.category_id perusteella.
  • Ryhmittele tiedot category.name mukaan.
  • Käytä HAVING-ehtoa ja ehtoa COUNT(DISTINCT product.id) > 5 laskeaksesi yksilölliset tuotteet per kategoria.
  • Järjestä tulokset category_name mukaan.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt