ugrás a tartalomhoz

Összegzés

misike · 2020. Ápr. 23. (Cs), 18.02
Üdv!

Nem találtam megoldást, itt kérek segítséget.
Egyszerűsítve írom le.

Egy tábla szerkezete:
user felnev mego
név1 aaaa +
név1 aaaa +
név1 aaaa -
név1 bbbbb -
nev2 aaaa +
nev2 aaaa +
nev2 bbbbb +
név3 aaaa -

A lekérdezésben vannak már összegzések (részlet)
SELECT
user,
sum(mego = '-') as rossz,
sum(mego = '+') as jo,
felnev
group by user, felnev

Abban kérnék segítséget hogyan számoljam meg hány fajta felnev van felhasználónként.
pl. a név1 nek 2 fajta. (aaaa és a bbbbb)

Segítséget előre köszönöm.
 
1

Ilyesmire

kuka · 2020. Ápr. 24. (P), 14.18
Ilyesmire gondoltál?
  1. select  
  2. user,  
  3. sum(mego = '-'as rossz,  
  4. sum(mego = '+'as jo,  
  5. count(distinct felnev) as felnev_szam,  
  6. group_concat(distinct felnev) as felnev_lista  
  7.   
  8. from misike  
  9.   
  10. group by user;  
Nem említetted milyen adatbázist használsz. group_concat() a MySQL/MariaDB és SQLite sajátosságai, PostgreSQL és SQL Server esetében string_agg() kell helyette.
2

Köszönet

misike · 2020. Ápr. 24. (P), 19.53
Köszi.

Remélem minden ok.
3

mégsem

misike · 2020. Ápr. 25. (Szo), 11.39
Sajnos nem lett jó. Talán nem voltam egyértelmű, A fajta darabszámát kellene megkapnom.
Megmutatom hogyan íratnám ki az eredményeket.
név feladatnév jó össz rossz össz telj%
aaaaa 2 1
név1 50%
bbbbbb 0 1

És így a többit.

Az összeg azért kellene mert a táblázatban a név oszlopot és a telj oszlopot rowspannal állítanám be.

Értem hogyan megy végig az sql az adatbázison, de hátha van erre is megoldás.

Az adatbázis mysql.