Kezdőoldal » Számítástechnika » Programozás » Hogyan oldjam meg ezt a SQL...

Hogyan oldjam meg ezt a SQL feladatot?

Figyelt kérdés

Adott egy tábla "language", az oszlop nevek: CountryCode, Language, IsOfficial, Percentage.


A CountryCode-nál 3 betűs adatok vannak, ez egy adott ország kódja pl.: 'HUN'.


A Language oszlopban az országban beszélt nyelvek pl.: English, German ROman stb..


Az IsOfficial oszlopban az adott országban a hivatalosan elfogadott nyelvek vannak amit 'T'-vel jelöl ahol True és 'F'-el ahol False.


A Percentage oszlop, az adott ország lakosságának a százaléka akik beszélik azt a nyelvet.


Vhogy így néz ki:

CountryCode Language IsOfficial Percentage

HUN Hungarian T 95

HUN English F 2

HUN German F 2

AUT German T 98

AUT English F 2

... stb

Ebből van 984 sor, szinte az összes ország fel van sorolva és az adott országban beszélt nyelvek és a hivatalos nyelvek. Most az lenne a feladat, hogy kikéne listáznom, hogy melyik az a nyelv amelyiket a legtöbben beszélik.

Ezzel a kóddal próbálgattam:


SELECT Language, COUNT(IsOfficial) AS Users FROM countrylanguage WHERE IsOfficial = 'T'

GROUP BY Language;

Igazából egyetlen egy eredményt várnék vissza ahol kiírja a nyelvet és hogy azt hány országban beszélik...



2020. nov. 4. 15:41
 1/4 anonim ***** válasza:
Ha feladat arra kivancsi, hogy melyik nyelvet beszelik legtobb orszagban hivataloskent, akkor csoportositani kell nyelvenkent(group by), szurni hivatalosra, megszamolni, csokkeno sorrendbe rendezni(order by desc) es limitalni az elso talalatra(limit 1) vagy helyette hasznalhatsz max fuggvenyt. Viszont ha szoszerint ertelmezem a feladat kiirast, akkor csak annyi a kulonbeg, hogy nyelvenkent nepesseg(felteve, ha van ilyen mezo)*szazalek szummaibol valasztod ki a legnagyobbat.
2020. nov. 4. 16:11
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

SELECT Language, COUNT(IsOfficial) AS Users FROM countrylanguage WHERE IsOfficial = 'T'

GROUP BY Language

ORDER BY COUNT(IsOfficial) DESC

LIMIT 1;


Köszönöm választ. Ez jól működik. A feladat pedig így szól:

Melyik nyelvet beszéli a legkevesebb/legtöbb ember?

2020. nov. 4. 20:15
 3/4 anonim ***** válasza:
Én azt mondanám erre, hogy nem oldom meg a feladatot tanár úr. Előbb legyen a tábla 3. normálformába, utána a lekérdezés is szebb lesz.
2020. nov. 4. 21:50
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

Ez a kérdés nem válaszolható meg ennyi adat ismeretében:

"Melyik nyelvet beszéli a legkevesebb/legtöbb ember?"

ehhez tudni kellene országonként a népességet és annak az X százalékát venni, de ebből csak az utóbbi adat van meg. nem mindegy ugyanis hogy a 96% az pontosan hány embert jelent. Kicsit pontosítani kellene azt a feladatot, mert erre a jó válasz, hogy ebből nem válaszolható meg. Ugyanakkor nyilván az sql lekérdezés gyakorlása a cél, tehát kb bármit csinálsz az már "jó", csak bosszantó hogy egy reál tantárgynál ennyire pontatlanul fogalmaz a tanár. (mondjuk pedagógusa válogatja, annó a fizikatanárom kifejezetten díjazta ha egy ilyen hibára rávilágított az ember)

2020. nov. 5. 07:33
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!