85. Rekursiv: kategoriya ostidagi yakuniy bo'limlar soni
QiyinKatalog kategoriyalari daraxt ko'rinishida (parent_id).
Har bir kategoriya uchun uning ostidagi yakuniy (bola kategoriyasi yo'q)
kategoriyalar sonini hisoblang.
Kategoriyaning o'zi yakuniy bo'lsa, uning natijasi 1.
Ustunlar: category, leaf_count.
Saralash: leaf_count kamayish, keyin category alifbo.
Jadval: categories
| Ustun | Turi |
|---|---|
| id | INT PK |
| name | VARCHAR |
| parent_id | INT NULL |
Namuna ma'lumotlar
sample
categories
| idINT | nameVARCHAR(60) | parent_idINT |
|---|---|---|
| 1 | Elektronika | NULL |
| 2 | Telefonlar | 1 |
| 3 | Noutbuklar | 1 |
Kutilgan natija
| category | leaf_count |
|---|---|
| Elektronika | 2 |
| Noutbuklar | 1 |
| Telefonlar | 1 |
sample-full
categories
| idINT | nameVARCHAR(60) | parent_idINT |
|---|---|---|
| 1 | Elektronika | NULL |
| 2 | Telefonlar | 1 |
| 3 | Noutbuklar | 1 |
| 4 | Android | 2 |
| 5 | iPhone | 2 |
| 6 | Igrovoy | 3 |
| 7 | Ofis | 3 |
| 8 | Kiyim | NULL |
| 9 | Erkaklar | 8 |
| 10 | Ayollar | 8 |
| 11 | Ko'ylak | 9 |
| 12 | Shim | 9 |
Kutilgan natija
| category | leaf_count |
|---|---|
| Elektronika | 4 |
| Kiyim | 3 |
| Erkaklar | 2 |
| Noutbuklar | 2 |
| Telefonlar | 2 |
| Android | 1 |
| Ayollar | 1 |
| Igrovoy | 1 |
| Ko'ylak | 1 |
| Ofis | 1 |
| Shim | 1 |
| iPhone | 1 |
sample-extra
categories
| idINT | nameVARCHAR(60) | parent_idINT |
|---|---|---|
| 1 | Noutbuklar | NULL |
| 2 | Elektronika | 1 |
| 3 | Shim | NULL |
| 4 | Android | 3 |
| 5 | Ayollar | 1 |
| 6 | Erkaklar | 2 |
| 10 | Telefonlar | 3 |
| 13 | Ko'ylak | 10 |
| 14 | Igrovoy | 10 |
Kutilgan natija
| category | leaf_count |
|---|---|
| Shim | 3 |
| Noutbuklar | 2 |
| Telefonlar | 2 |
| Android | 1 |
| Ayollar | 1 |
| Elektronika | 1 |
| Erkaklar | 1 |
| Igrovoy | 1 |
| Ko'ylak | 1 |
O'xshash masalalar
Konsol
Natijani ko'rish uchun so'rovni ishga tushiring.
