Variablen zusammenzählen

Angins

Mitglied
Hallo zusammen,

Habe nicht sehr viel Ahnung in SQL und bin gerade an einem Problem, wo ich keine Ahnung habe, wie ich das lösen könnte:

Ich will alle 100-Nummern summieren, alle 300-Nr, und alle 500-Nr sollen zusammengezählt werden.
Und zwar soll das Ergebnis in einer neuen Spalte Summe sein.
Habe eine Bsp- Ergebnistabelle beigelegt, damit es hoffentlich ein wenig verständlicher ist.


Vielen Dank für die Hilfe!

Grüsse
Angins
 

Anhänge

  • abfrage.jpg
    abfrage.jpg
    11,8 KB · Aufrufe: 15
könntest du vllt besser erklären was du hast und was rauskommen soll?
ich verstehe momentan nicht so wirklich, auf was du hinaus möchtest.
 
Ich denke, dass waere das was du brauchst:

select sum(case (nummer%100) when (0) then Summe else 0 end) as '100',
sum(case (nummer%300) when (0) then Summe else 0 end) as '300',
sum(case (nummer%400) when (0) then Summe else 0 end) as '500'
from deineTabelle
 
Zuletzt bearbeitet:
Ich vermute Du suchst sowas hier:

SQL:
SELECT nummer, sum(betrag)
FROM table
GROUP BY nummer
 
Hallo,

schau mal hier:
SQL:
mysql> select * from sumexample;
+----+------+--------+
| id | num  | amount |
+----+------+--------+
|  1 |  100 |      5 |
|  2 |  112 |     10 |
|  3 |  201 |      4 |
|  4 |  225 |      6 |
|  5 |  301 |      5 |
+----+------+--------+
5 rows in set (0.00 sec)


SQL:
mysql> select a.id, a.num, a.amount, b.amountsum from sumexample a inner join (select round(num / 100) grouptype, sum(amount) amountsum from sumexample group by round(num / 100)) b on round(a.num/100) = b.grouptype;
+----+------+--------+-----------+
| id | num  | amount | amountsum |
+----+------+--------+-----------+
|  1 |  100 |      5 |        15 |
|  2 |  112 |     10 |        15 |
|  3 |  201 |      4 |        10 |
|  4 |  225 |      6 |        10 |
|  5 |  301 |      5 |         5 |
+----+------+--------+-----------+
5 rows in set (0.00 sec)

Gruß Tom
 
Vielen Dank für die Antworten!
Habe es versucht nach dem Code von Tom, aber leider erscheint immer die Meldung:
The round function requires 2 to 3 arguments
Wisst ihr, an was das liegen könnte?

Gruss
Angins
 
Konnte den Fehler lösen, habe einfach anstelle von:

round(a.num/100)

die Klausel:

round(a.num/-2)

verwendet, da alle Zahlen in num im hundertebereich liegen.

Gruss
Angins
 
Zurück