MySQL Summe bilden

nautiLus`

Erfahrenes Mitglied
Hallo,

ich habe eine Tabelle mit 3 Zeilen:

clicks
---------------
12
13
15


Nun bräuchte ich eine Abfrage, die mir die Summe der ersten beiden Zeilen ausgibt. Nur das ganze ohne Subquery.

Also folgende Ausgabe:

clicks
---------------
25

Wie mach ich das ab besten? Geht das über eine Abfrage oder lieber in PHP zusammenrechnen?

mfg Nauti
 
Hallo!

Du kannst dies mit SUM(Ausdruck) tun. Also so:

Code:
select sum(clicks) from MeineTabelle;

Das Ergebniss wäre dann eine: 40 ;-)

Übrigens bist Du meistens mit Berechnungen innerhalb der DB schneller, als wenn Du diese in PHP machen läst ... ist also die richtige Wahl.

Chris
 
XChris, du hast glaube ich nicht genau genug gelesen... :)

Wie unterscheiden sich die ersten beiden Zeilen denn von der dritten ?
Sind sie generell kleiner als die Dritte ?
Haben deine Spalten vielleicht eine ID ?

Der Vorschlag von XChris war ja schon der richtige, summiert so allerdings ja nur alle Zeilen... ;-)
Ich bräuchte jetzt irgendetwas um mit Where oder Order By angreifen zu können, um der Datenbank verständlich zu machen, welche Spalten ich summieren will.
 
Ok, also oben angenommene Tabelle war jetzt mal theoretisch:

Ausschaun tut's so:

Code:
SELECT id, sitename, clicks FROM `links` order by clicks desc

gibt mir:

id-------sitename-------clicks
2-------------A-------------122--
1-------------B-------------100--
3-------------C--------------35--


Ich habe noch mehr Spalten zb ein datum.

ich brauch aber eine Abfrage die mir das ausgibt (also ohne PHP):

clicks
222

Danke, ciao

edit: Durch das Sortieren nach clicks wirds mit den Bedingungen schwer, weil ja die id's und Datum dann bunt durcheinendergewürfelt sind. Mit Subqueries wärs ja kein Problem ... die Frage ist aber: Gehts ohne auch? :) Wenns da nicht eine Funktion oder sowas gibt, befürchte ich, dass wir da anstehen werden...
 
Zuletzt bearbeitet:
Mir ist noch nicht ganz klar, wovon die beiden Werte, die du zusammenaddieren willst, abhängen. Oder anders ausgedrückt, welche beiden Werte willst Du denn zusammenaddieren? Ganz allgemein! Immer die zwei grössten?
 
Also ich weiss jetzt nicht, wie man das mit sql abfragen kann. Zumindest nicht mit mysql. Allerdings bin ich der Meinung, dass man, da es sich ja nur um zwei Werte handelt, das ganz prima in php berechnen kann. Einfach die beiden grössten Werte abfragen mit

PHP:
SELECT clicks FROM links ORDER BY clicks DESC LIMIT 0, 2

und die hast Du ja dann mit php ganz fix addiert.

Wenn ansonsten noch jemand weiss, wie man das mit mysql lösen kann, dann bin ich auch schon gespannt.
 
Eben, und darum weiss ich nicht, ob das mit mysql überhaupt funktioniert. Weil eigentlich sieht das für mich nach nem verschachtelten Select aus. Aber das ist nichts für mysql.

Aber was spricht denn nun dagegen, die beiden Werte in php zu addieren?
 

Neue Beiträge

Zurück