# SELECT SUM() Ergebnis in Java abfragen



## isowiz (3. Mai 2006)

Mal zur Abwechslung ne ganz dumme Frage   

Ich habe bisher mit Java immer Abfragen in der Art (SELECT * FROM irgendwo) gemacht und diese dann eben ueber das ResultSet und r.next ausgeben.
Jetzt habe ich aber eine Abfrage der Art (SELECT SUM(spaltex) FROM irgendwo) und bekomme damit ja nur einen Wert zurueck. Muss ich dafuer auch ein ResultSet nehmen oder wie laeuft hier die Ausgabe ab?


----------



## personenkult (3. Mai 2006)

würde ich so machen, ja.

SELECT SUM(spaltex) as ergebnis FROM irgendwo
blablub
rs.getString("ergebnis");


----------



## André Uhres (3. Mai 2006)

isowiz hat gesagt.:
			
		

> ...Jetzt habe ich aber eine Abfrage der Art (SELECT SUM(spaltex) FROM irgendwo)
> und bekomme damit ja nur einen Wert zurueck.
> Muss ich dafuer auch ein ResultSet nehmen ..?


Ja.

```
ResultSet ergebnis = anweisung.executeQuery("Select sum(...) from ...");
            if(ergebnis.next()) {
                String summe = ergebnis.getString(1);
                System.out.println("Summe:  "+summe);
            }
```


----------



## Bleiglanz (3. Mai 2006)

oder auch mit getInt(1) als Integer....oder getDouble(1) als Zahl


----------



## isowiz (3. Mai 2006)

Aha. Vielen Dank .
Hatte nur gedacht da gibt es eine extra Vorgehensweise, da keine Liste sondern nur ein Wert zurückgegeben wird. Aber wenn es das nicht gibt mach ich das eben so.

Gibt es einen Grund warum ein einzelner Wert genauso gehandhabt wird? Rein von der Logik sollte das anderes funktionieren, oder denke ich da faslch?


----------



## Jockel (3. Mai 2006)

Nein, von der Logik her ist das genau richtig. Stell dir vor, du hast ein Statement wie 
SELECT sum(Preis) as summe, Id
FROM `article`
GROUP BY Id
Dann werden mehrere Spalten zurückgegeben. Oder möchtest du wirklich, dass die Java-Klasse dein SQL-Statement erst analysiert (zu lasten der Performance), um dann zu entscheiden wieviele Werte zurückgegeben werden.


----------



## isowiz (4. Mai 2006)

Du hast mich überzeugt. Ist natürlich gut so wie es ist


----------

