online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon TByte vom 24.05.2021, 18:22 Options

Lösung

MySQL Summer einer Spalte, allerdings VARCHAR(200)

Hallo

Ich habe eine Tabelle mit 21 Einträgen und 22 Spalten. Abgesehen von der ID ist der Rest VARCHAR(200). Jetzt habe ich eine Spalte "Raumschiffe". Da sind aber nur integer werte, obwohl es VARCHAR ist. Meine Frage jetzt:
Wie kann ich alle Raumschiffe von allen 21 Einträgen zusammenzählen? Mit PHP und MySQli, also der oo Variante.
Danke schon jetzt
mfg
TByte


Antwort schreiben

Antwort 1 von gresti vom 24.05.2021, 22:15 Options

Hi TByte,

das geht nicht mit den normalen Sql-Mitteln. Das widerspräche auch dem relationalen Ansatz. (na Mittel gibt es da auch, aber . . grrr)

Ich bin auch Entwickler von Datenbanken auf der Basis MySql und . . .

Eine Datenbank wird auf den Papier entworfen. Dort ist das Nach(Denken) über Abhängigkeiten und viel mehr erstmal angesagt.
Diese Phase kann sehr lange dauern und viele der Entwürfe landen im Mülleimer.

Also lieber Tbyte organisier einfach mal die Strtuktur von deiner Datenbank auf Papier.

lg
gresti

Antwort 2 von TByte vom 25.05.2021, 15:52 Options

Hallo
Das hab ich bereits elerdigt, die Datenbank läuft sogar schon und alles ist perfekt. Nur will ich einfach nur die Summe der Werte einer Spalte haben, ohne alles manuell zu machen.

Danke,
mfg
TByte

Antwort 3 von MixMax vom 25.05.2021, 16:20 Options

wenn du sicher bist das in der Spalte nur Integerwerte kommen, ist
es eigentlich sehr unsinnig da z.B. für 200000 ein 8 Byte langen
String (7 für den text und 1 Byte wo drin steht das der String 7
Zeichen lang ist) zu speichern, während die Zahl mit einer 4 Byte
Zahl als Zahl gespeichert werden kann.

Vor allem kann die Datenbank mit Strings nicht Addieren, die
Chance das es zu Fehlern kommt oder Abfragen beim einer
Manuellen Aufsummierung plötzlich mehrere Sekunden oder
Minuten dauern ist sehr hoch.

mach Ggfs eine 32 bit oder 64bit Ganzzahl da draus...
(32Bit geht bis 4Milliarden ca, bzw 2Milliarden und -2Milliarden (+/-
2000'000'000)

eine 64 bit geht bis... ehm 16EB bzw +/-8 EB +/-
(8'000'000'000'000'000'000)

Antwort 4 von TByte vom 25.05.2021, 20:32 Options

Hallo

Ok, danke, werd ich machen.
Nur wie addier ich dann? Dafür muss MySQL doch funktionen bereitstellen, oder?

MfG
TByte

Antwort 5 von Supermax vom 25.05.2021, 21:23 OptionsLösung

Lösung
Die Summe der Feldinhalte berechnest du mit der Funktion SUM():
SELECT SUM(spaltenname) FROM tabelle WHERE  bedingungen


siehe auch mySQL Handbuch

Antwort 6 von Supermax vom 25.05.2021, 21:28 Options

Das ist der richtige Link:
MySQL Aggregat-Funktionen

Antwort 7 von TByte vom 27.05.2021, 15:09 Options

Hallo

Vielen dank!
MfG
TByte

Ähnliche Themen

MySQL - Einer Spalte einen Zufälligen Wert zuweisen
McMonky  31.12.2007 - 108 Hits - 3 Antworten

Perl mit MySQL?
TByte  09.05.2008 - 71 Hits - 36 Antworten

Formulardaten -> array -> MySQL DB
Misantrophe  29.04.2008 - 63 Hits - 13 Antworten

MySQL Datumsabfrage
MichaelV1971  18.08.2008 - 24 Hits - 1 Antwort

MySQL installieren
TByte  18.10.2008 - 34 Hits - 13 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026