Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

SQL al-lekérdezéssel meg lehet oldani?

46
Sziasztok!
Van egy adatbázis egy iskola szakköreiről. A szakkörök munkaközösség szerint vannak csoportosítva.
Például: Matematika munkaközösséghez tartozik 5 szakkör (OKTV felkészítő, Versenyekre felkészítő, feladatmegoldó stb).
A Rajz munkaközösséghez tartozik 3-féle szakkör (...)
Szeretném kiíratni azt a szakkört, amelyikhez a legtöbb/legkevesebb szakkör tartozik.
A tábla felépítése:
id - azonosító
munkakoz - a munkaközösség neve
szakkornev - a szakkör neve
tanarnev - a szakkört tartó tanár neve

Így le tudom kérdezni:
SELECT szakkor.munkakoz, Count(szakkor.munkakoz)
FROM szakkor
GROUP BY szakkor.munkakoz
ORDER BY Count(szakkor.munkakoz)
LIMIT 1

De allekérdezéssel meg lehet oldani? Mert nekem nem sikerült :(
Köszönöm, ha segítesz megoldani.
Jelenleg 1 felhasználó nézi ezt a kérdést.
SQL, subselect
0
Középiskola / Informatika

Válaszok

4
(Ez nem válasz, hanem hozzászólás a kérdéshez.)

Milyen SQL?
0

MYSQL (XAMPP)
0

Na akkor első próba. (Merthogy nem teljesen világos a szándék. Illetve az ok sem…)
    • Al-al-lekérdezés összeszámolja a darabszámokat
    • Al-lekérdezés kiválasztja a maximális darabszámot
    • Lekérdezés kiválaszt mindent aminek a darabszáma ugyanaz mint a maximális darabszám (ha több munkaközösségnek van maximális szakköre, mindegyiket listázza)

select
munkakoz

from szakkor

group by munkakoz

having count(*) = (
    select
    max(count)

    from (
        select
        count(*) count

        from szakkor

        group by munkakoz
    ) foo
)

(Apró megjegyzés, hogy javasolt külön munkaközösség és tanár táblák használata, hogy a szakkör táblában csak hivatkozz rájuk, de az adataikat (például név) ne ott tárold.)
1

A végén az a 'foo' mit akar jelenteni?
Egyébként nagyon jó lett.
És még ezt is légyszi magyarázd meg, kérlek:
count(*) count
Módosítva: 1 hónapja
0