SQL Result eindampfen

derocco

Lt. Junior Grade
Registriert
Nov. 2015
Beiträge
349
Code:
A	1	
B	2	
C	1	
D	1	
E	1	
F	3	
G	4	
H	4

Mich interessiert basieredn auf den Zahlen wo dass die Vorkommt

zB. kommt 1 vor in A C D E, 2 nur in B etc.

Mein Reusltat SET soll aber nur aussagen:
Code:
A 1
B 2
F 3
G 4

spielt aber keine Rolle ab er mit für 1 A C D oder E liefert.

Also

Code:
C 1
B 2
F 3
H 4

ist equivalent.

Kriege das nicht hin mit dem Group by und auch nicht mit joins
mit group by schaffe ich nur:

Code:
1
2
3
4
Die Buchstaben kann ich dann nicht mehr ausgeben weil die nicht in der Group Klausel sind. Sind sie dabei ist das resultat wieder wie am start.
 
Hmm, wie sieht
Code:
SELECT MAX(Name),num FROM table GROUP BY num
​
aus? (MAX durch MIN ersetzen, wenn A statt E gewünscht ist.)

​M.W. ist MySQL (bspw.) so lässig, dass wenn du GROUP BY drin hast und noch ne Spalte, dass da dann irgendein wert rausgenommen wird. Falls du alle Werte wissen willst, die für die Zahl in Frage kommen:
Code:
SELECT GROUP_CONCAT(distinct Name),zahl FROM table GROUP BY zahl
​
 
Zuletzt bearbeitet: (DISTINCT lässt sich mit GROUP_CONCAT kombinieren)
Wenn ich dich richtig verstehe, willst Du folgendes:

Code:
select spalte1,
spalte2
from tabelle
group by spalte1, spalte2
order by spalte1, spalte2
 
Hancock schrieb:
Hmm, wie sieht
Code:
SELECT MAX(Name),num FROM table GROUP BY num
​
aus? (MAX durch MIN ersetzen, wenn A statt E gewünscht ist.)

​M.W. ist MySQL (bspw.) so lässig, dass wenn du GROUP BY drin hast und noch ne Spalte, dass da dann irgendein wert rausgenommen wird. Falls du alle Werte wissen willst, die für die Zahl in Frage kommen:
Code:
SELECT GROUP_CONCAT(distinct Name),zahl FROM table GROUP BY zahl
​

Group_concat gibts in DB2 nicht, hat mich aber auf einen möglichen weg gebracht:
http://www.idug.org/p/fo/et/thread=39476
 
Zurück
Oben