103 Kezdőlap - Webszerkesztés - MySQL - Tagdíj

Tagdíj

adatbázis

Feladat

Egy tagdíjbefizetéseket nyilvántartó rendszer a következő adattáblákat tartalmazza:

		Ugyfel			Befiz
		------			-----

		Azon			Azon
		Nev			Datum
		SzulEv			Osszeg
		IrSzam
		Orsz

	ahol

		Azon	N 10	az ügyfél azonosítója
		Nev	C 30	az ügyfél neve
		SzulEv	N 4	az ügyfél születési évszáma
		IrSzam	N 4	az ügyfél lakhelyének irányítószáma
		Orsz	C 3	az ügyfél országának kódja
		Datum	DT	a befizetés dátuma
		Oszzeg	N 10	a befizetés összege

Az adatbázis az alábbi linkről tölthető le: SQL lekérdezésekkel adjon választ az alábbi kérdésekre. Az elkészült és működő lekérdezéseket mentse el egy .txt szöveges fájlba a kérdésekhez tartozó sorszám feltüntetésével.

Kérdések:
  1. Hogy hívják az egyes ügyfeleket? Jelenítse meg a nevüket ABC-sorrendben!
  2. Listázza ki a magyarországi ügyfeleket életkoruk szerint! Kezdje a legfiatalabbal!

    SELECT nev, szulev, YEAR( NOW() )-szulev AS eletkor
    FROM ...
    ...
    ...

  3. Adja meg a Pest megyei ügyfeleket! (Irányítószámuk 2-vel kezdődik.)
  4. Mennyi pénzt fizettek be összesen az ügyfelek?
  5. Mekkora összegű egy átlagos befizetés?
  6. Mennyi volt az eddigi legkisebb illetve legnagyobb befizetett összeg?
  7. Hány darab befizetés szerepel a nyilvántartásban?
  8. Milyen összegeket, és mikor fizetett Török Bálint?

    SELECT datum, nev, osszeg
    FROM ugyfel, befiz
    WHERE ugyfel.azon = befiz.azon
    AND nev='Török Bálint'

  9. Mennyit fizetett összesen Nagy Károly?
  10. Mennyit fizettek összesen a nem magyarországi befizetők?
  11. Mennyit fizettek az egyes ügyfelek?
  12. Mi az első három legtöbbet befizető ügyfél sorrendje?
  13. Mekkora összegű befizetések történtek az év egyes hónapjaiban?

    SELECT MONTH(datum) AS ho , ...
    FROM ...
    ...

  14. Melyek azok a napok, amikor több befizetés is történt?
  15. Mely befizetések régebbiek egy évnél?

    SELECT ...
    FROM ...
    WHERE DATEDIFF( NOW() , datum ) >365

  16. Mennyi pénzt fizettek be az elmúlt 365 napban?
  17. Ki a legidősebb ügyfél?
  18. Ki, és mikor követte el a legkisebb összegű befizetést?
  19. Kinek a legkevesebb az összes befizetése?
  20. Van-e olyan ügyfél, aki még egyáltalán nem fizetett?

    SELECT nev FROM ugyfel
    WHERE azon NOT IN (SELECT azon FROM befiz)

  21. Fejenként mennyit fizettek átlagosan az ügyfelek, ha az átlagba csak a fizető ügyfelek számítanak?

    SELECT AVG(fejenkent)
    FROM
    (SELECT SUM(osszeg) AS fejenkent
    FROM befiz GROUP BY azon)

    AS xyz

    vagy pedig

    SELECT SUM(osszeg)/COUNT(DISTINCT azon)
    FROM befiz

  22. Fejenként mennyit fizettek átlagosan az ügyfelek a nemfizető ügyfeleket is beszámítva?
  23. Kik azok az ügyfelek, akik az átlagosnál többet fizettek?

    SELECT nev, SUM(osszeg) AS ossz
    FROM ugyfel, befiz
    WHERE ugyfel.azon = befiz.azon
    GROUP BY befiz.azon
    HAVING ossz > (SELECT SUM(osszeg)/COUNT(DISTINCT azon) FROM befiz)
    ORDER BY 2 DESC



2019-06-17 19:17:34 Admin Köszönöm, ha Ön lesz az első, aki megírja ide véleményét, észrevételét, kérdését ezzel a lappal kapcsolatban.




Új hozzászólás:
E-mail cím:


Erre a címre küldjük ki a hozzászólás jóvá- hagyásához szükséges linket. Az e-mail címet sehol nem tesszük közzé.

Név:


Ez a név fog megjelenni az Ön hozzászólásai mellett.

Mennyi tizenkilenc + hét?
Számjegyekkel írja be!



Ez a robotok beírása elleni védelem miatt szükséges ellenőrzés.


© infojegyzet.hu, 2009. február