Halli Hallo,
hab da so ein Problemchen was ich eigentlich schon länger mit PHP umgangen hab, aber jetzt will ich das ganze doch schön in MySQL lösen is halt einfach eleganter und ich weiss auch das es mit MySQL möglich ist nur ich bin anscheinend einfach noch zu unerfahren.
Folgendes:
ich möchte einen count() wert mit sum() summieren
hier mein SQL:
Ergebnis zum Beispiel:
request requestsumme requestsumme_gesamt
schuhe 15 100
hose 15 100
shirt 60 100
pulli 10 100
request -> sind suchbegriffe nach denen auch gruppiert wird und die gruppierten Zeilen werden als requestsumme ausgegeben.
Hintergrund ist einfach eine Statistik einer Suchauswertung also
die TOP 100 Suchbegriffe zb ich will jetzt halt einfach prozentual immer darstellen wie oft der Suchbegriff gesucht wurde und dazu brauche ich die summer aller requestsumme
klar könnte da den PHP compiler bemühen, aber ich will mich ja weiterentwickeln und mysql noch besser kennen lernen . Hoffe ihr könnt mir da helfen!
Grüße
Tom
ich weiss das folgendes nicht geht´:
- sum(count()) funzt ned hab ich nachgelesen(MySQL) und getestet
- subquey SUM(
SELECT COUNT(t2.request) as requestsumme
FROM s_searchrequest as t2
WHERE t2.ip_adresse != '217.91.38.221'
AND t2.request = t1.request
GROUP BY t2.request
ORDER BY requestsumme DESC
LIMIT 0,100
) as requestsumme_gesamt, --> evtl einfach falsch?! gibt aber eigentlich die richtigen Spalten Werte er kann Sie einfach ned summieren...
- und dann hab ich das noch gefunden: user-variables
---> @x:=COUNT(t1.request) as requestsumme,
SUM(@x) as requestsumme_gesamt, () funzt ja anscheinend nicht mit Statements die GROUP BY beinhalten
Also ich hab schon ziemlich viel im Internet gestöbbert und ich denke ich weiss auch das man das ganze nur subquerys zu lösen sein wird.
hab da so ein Problemchen was ich eigentlich schon länger mit PHP umgangen hab, aber jetzt will ich das ganze doch schön in MySQL lösen is halt einfach eleganter und ich weiss auch das es mit MySQL möglich ist nur ich bin anscheinend einfach noch zu unerfahren.
Folgendes:
ich möchte einen count() wert mit sum() summieren
hier mein SQL:
PHP-Code:
mysql_query(SELECT t1.id_searchrequest,t1.request,
COUNT(t1.request) as requestsumme,
SUM(
SELECT COUNT(t2.request) as requestsumme
FROM s_searchrequest as t2
WHERE t2.ip_adresse != '117.6.38.221'
AND t2.request = t1.request
GROUP BY t2.request
ORDER BY requestsumme DESC
LIMIT 0,100
) as requestsumme_gesamt,
SUM(t1.searchresult) as searchresults
FROM s_searchrequest as t1
WHERE t1.ip_adresse != '117.6.38.221'
GROUP BY t1.request
ORDER BY requestsumme DESC
LIMIT 0,100);
request requestsumme requestsumme_gesamt
schuhe 15 100
hose 15 100
shirt 60 100
pulli 10 100
request -> sind suchbegriffe nach denen auch gruppiert wird und die gruppierten Zeilen werden als requestsumme ausgegeben.
Hintergrund ist einfach eine Statistik einer Suchauswertung also
die TOP 100 Suchbegriffe zb ich will jetzt halt einfach prozentual immer darstellen wie oft der Suchbegriff gesucht wurde und dazu brauche ich die summer aller requestsumme
klar könnte da den PHP compiler bemühen, aber ich will mich ja weiterentwickeln und mysql noch besser kennen lernen . Hoffe ihr könnt mir da helfen!
Grüße
Tom
ich weiss das folgendes nicht geht´:
- sum(count()) funzt ned hab ich nachgelesen(MySQL) und getestet
- subquey SUM(
SELECT COUNT(t2.request) as requestsumme
FROM s_searchrequest as t2
WHERE t2.ip_adresse != '217.91.38.221'
AND t2.request = t1.request
GROUP BY t2.request
ORDER BY requestsumme DESC
LIMIT 0,100
) as requestsumme_gesamt, --> evtl einfach falsch?! gibt aber eigentlich die richtigen Spalten Werte er kann Sie einfach ned summieren...
- und dann hab ich das noch gefunden: user-variables
---> @x:=COUNT(t1.request) as requestsumme,
SUM(@x) as requestsumme_gesamt, () funzt ja anscheinend nicht mit Statements die GROUP BY beinhalten
Also ich hab schon ziemlich viel im Internet gestöbbert und ich denke ich weiss auch das man das ganze nur subquerys zu lösen sein wird.
Kommentar