Asosiy matnga o'tish

119. Kategoriya bo'yicha top 3 (LATERAL)

Qiyin

Har bir kategoriya uchun eng qimmat 3 ta mahsulotni chiqaring.

Buni CROSS JOIN LATERAL ichida ORDER BY price DESC, id LIMIT 3 bilan

yozing — window funksiyasiz.

Mahsuloti 3 tadan kam bo'lgan kategoriya bor qanchasi bilan chiqadi; umuman

mahsulotsiz kategoriya esa natijaga tushmaydi (CROSS JOIN bo'lgani

uchun).

Narxi teng bo'lsa id kichigi oldinda turadi.

Ustunlar: category, name, price.

Saralash: category alifbo, keyin price kamayish, keyin name alifbo.

categories: id INT PK, title VARCHAR

products: id INT PK, category_id INT, name VARCHAR, price NUMERIC(12,2)

Jadval: categories

UstunTuri
idINT PK
titleVARCHAR(40)

Jadval: products

UstunTuri
idINT PK
category_idINT
nameVARCHAR(60)
priceNUMERIC(12,2)

Namuna ma'lumotlar

sample
categories
idINTtitleVARCHAR(40)
3Kitob
products
idINTcategory_idINTnameVARCHAR(60)priceNUMERIC(12,2)
103Roman85000
113Darslik120000
Kutilgan natija
namepricecategory
Darslik120000Kitob
Roman85000Kitob
sample-full
categories
idINTtitleVARCHAR(40)
1Elektronika
2Kiyim
3Kitob
4Sport
5Kosmetika
products
idINTcategory_idINTnameVARCHAR(60)priceNUMERIC(12,2)
11Smartfon A543900000
21Noutbuk 159800000
31Simsiz quloqchin450000
41Televizor 434800000
51Sichqoncha USB95000
62Kurtka890000
72Ko'ylak320000
82Shim410000
92Krossovka890000
103Roman85000
113Darslik120000
124Velosiped1800000
134Gantel350000
144Yugurish yo'lakchasi7500000
154Koptok95000
Kutilgan natija
namepricecategory
Noutbuk 159800000Elektronika
Televizor 434800000Elektronika
Smartfon A543900000Elektronika
Darslik120000Kitob
Roman85000Kitob
Krossovka890000Kiyim
Kurtka890000Kiyim
Shim410000Kiyim
Yugurish yo'lakchasi7500000Sport
Velosiped1800000Sport
Gantel350000Sport
sample-extra
categories
idINTtitleVARCHAR(40)
8Kosmetika
1Kitob
products
idINTcategory_idINTnameVARCHAR(60)priceNUMERIC(12,2)
11Shim8500500
21Gantel9800000
Kutilgan natija
namepricecategory
Gantel9800000Kitob
Shim8500500Kitob

O'xshash masalalar

Konsol

Natijani ko'rish uchun so'rovni ishga tushiring.