[MySQL] Probleme mit Abfrage SELECT-Query

Meolus

Lt. Commander
Registriert
Feb. 2005
Beiträge
1.411
Hallo,

meine Tabelle sieht wie folgt aus:

PHP:
name  	  caption   	  value
	browser_37 	Konqueror/3.2 	1
	browser_38 	Gecko/20050919 Firefox/1.0.7 	51
	browser_39 	Opera 5.11  [de] 	1
	browser_4 	Gecko/20050511 Firefox/1.0.4 	57
	browser_40 	Gecko/20050915 Firefox/1.0.7 	6
	browser_41 	Gecko/20050906 Firefox/1.4 	1
	browser_42 	Opera 8.50 	2
	browser_43 	Gecko/20051006 Firefox/1.4.1 	2
	browser_44 	Opera/8.50 	2
	browser_45 	Gecko/20051010 Firefox/1.0.7 	1
	browser_46 	Gecko/20051025 Firefox/1.5 	3
	browser_47 	MSIE 5.23 	1

Nun möchte ich ein Ergebnis haben, wo ich:
- nach bestimmten Substrings aus "caption" gruppiert, wie z.b. "firefox", "konqueror" und "opera"
- dazu die Summe von "value" der jeweils so gruppierten "caption"s


Also dass ich da aus den obigen Daten per MySQL-Query als Ergebnis folgendes bekommen könnte:

Firefox 121
Opera 5
Konqueror 1
MSIE 1


Mein Versuch war bisher:
Code:
SELECT caption, SUM(value) FROM table_name WHERE (name LIKE 'browser%') GROUP BY FIND_IN_SET(caption, 'firefox,msie')ORDER BY value desc;
was natürlich/leider nicht funktioner...
 
Zuletzt bearbeitet von einem Moderator:
Das hier sollte dir das gewünschte Ergebnis liefern.

Code:
SELECT 'Firefox', SUM(value) bvalue
FROM table_name
WHERE (INSTR(caption, 'Firefox') != 0)
UNION
SELECT 'MSIE', SUM(value) bvalue
FROM table_name
WHERE (INSTR(caption, 'MSIE') != 0)
UNION
SELECT 'Opera', SUM(value) bvalue
FROM table_name
WHERE (INSTR(caption, 'Opera') != 0)
UNION
SELECT 'Konqueror', SUM(value) bvalue
FROM table_name
WHERE (INSTR(caption, 'Konqueror') != 0)
ORDER BY bvalue desc;


Ciao
 
Vielen Dank, dass hat so super geklappt!

Hatte irgendwie gar nit mehr an JOINS gedacht :mussweg:
 
Zurück
Oben