Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PHP - Maximaler wert aus Datenbank auslesen

Mitglied: samsx87

samsx87 (Level 1) - Jetzt verbinden

05.01.2008, aktualisiert 11:58 Uhr, 9364 Aufrufe, 6 Kommentare

Hallo Zusammen

Habe wieder einmal ein Problem mit mysql & php.
Ich habe eine mysql Datenbank mit verschiedenen spalten (Test, Name, Stadt, Anzahl). Ich möchte nun die Zeile auslesen, bei welcher der Wert in der Spalte "Anzahl" am höchsten ist (z.B 71).

Habe das ganze mit MAX(Anzahl) probiert und das geht nicht, auch das sortieren nach der spalte "Anzahl" und danach die ausgabe der höchste Zahl klappt nicht (bekomme jeweils immer die Zeile mit der "Anzahl" 9).

Kann mir jemand helfen?

Danke!
Mitglied: Biber
05.01.2008 um 02:05 Uhr
Moin samsx87,

das Statement könnte z.B. so aussehen:
01.
Select Test, Name, Stadt, Anzahl From SamsTabelle 
02.
Where Anzahl=Select Max(x.Anzahl) from SamsTabelle x
01.
select * from SamsTabelle order by anzahl desc LIMIT 1
-oder, wenn Du nur den MaxWert selbst brauchst-
01.
select anzahl from SamsTabelle order by anzahl desc LIMIT 1
01.
Select Max(Anzahl) from SamsTabelle
Grüße
Biber
Bitte warten ..
Mitglied: Dani
05.01.2008 um 10:27 Uhr
Moin,
ich möchte noch etwas zu Biber's Statmenet hinzufügen:
Vorraussetzung ist, dass das Attribut (Spalte) Anzahl als Typ ein Zahl hat. Das kann sein int, smallint, double, etc... falls du dort Text stehen hast, kann das nicht gehen!


Grüße
Dani
Bitte warten ..
Mitglied: Biber
05.01.2008 um 11:04 Uhr
Moin Dani,

das würde in der Tat erklären, warum der Datensatz mit der "Anzahl" 9 zurückkommt. *g

Falls also ein ### das Feld "Anzahl" als Varchar oder so etwas angelegt haben sollte, dann muss entsprechend geCASTed werden. Beispiel:
01.
select * from SamsTabelle order by CAST(anzahl AS UNSIGNED) desc LIMIT 1
Aber das wollen wir Samsx87 ja nicht unterstellen....

Ach, eine Anmerkung noch zu meinen beiden Statements aus dem Vor-Kommentar.
Bei der Abfrage über ..MAX().. können natürlich auch mehrere Datensätze im Resultset sein.
Bei "...LIMIT 1" kommt immer nur einer. Beides kann gewollt sein bzw. gebraucht werden --> entsprechend eine Variante wählen.

Grüße
Biber
Bitte warten ..
Mitglied: Dani
05.01.2008 um 11:29 Uhr
Moin Biber,
macht hier ein CASTing schon Sinn? Denn die Anzahl kann eigentlich nur eine Zahl sein, oder? Somit wäre es doch sinnvoller, den Typ der Spalte zu ändern als immer ein SELECT (sieh dein Beispiel) auszuführen...macht das Statment zwar nicht dick, aber die Fehlermöglichkeiten werden verkleinert bzw.
Ich verfolge das Ziel: Das Statment so kurz und einfach wie möglich zu haben aber das Ziel 100%ig zu erreichen. Damit ich auch in 10 Jahren noch weiß, was da passiert.


Grüße
Dani
Bitte warten ..
Mitglied: samsx87
05.01.2008 um 11:52 Uhr
Hallo Zusammen

Habe ich bereits Probiert:
select * from SamsTabelle order by anzahl desc LIMIT 1

ABER ich habe den Fehler gefunden: Das Feld ist als "VARCHAR" definiert *duckundgweg* - Ich bekenne mich also als Schuldig

Kann mir jemand einen Link geben, wo die Unterschiede/Eigenschaften der verschiedenen Typen Beschrieben sind? (Damit so ein Fehler nie wider vor kommt!)

Naja wie auch immer: jetzt Funktionierts . Ich Danke euch 1000 mal für eure schnelle Hilfe, Ihr seit meine Helden :P
Bitte warten ..
Mitglied: Dani
05.01.2008 um 11:58 Uhr
Hi,
na gut...weil heute Wochenende ist und ich gut drauf bin.
Hier findest du alle Datentypen, die es unter MySQL gibt + Erklärung. Suchbegriff war bei Google "mysql typen"


Schönes Wochenende
Dani
Bitte warten ..
Ähnliche Inhalte
PHP

Daten via PHP aus mysql Datenbank auslesen und löschen

gelöst Frage von KyrinjaPHP5 Kommentare

Guten Morgen liebe Leute, ich verzweifle! Ich versuche Daten aus einer DB auszulesen und hinter den Daten einen Löschenbutton ...

PHP

PHP und Mysql aus Datenbank auslesen und geänderte Daten einfügen

gelöst Frage von gamerffPHP4 Kommentare

Hallo Forum, könntet ihr mir bitte weiterhelfen, ich habe ein php Code mit dem ich einen Datensatz auslesen möchte, ...

PHP

PHP soll Datensätze in der Datenbank überprüfen

Frage von YanmaiPHP2 Kommentare

Hallo ihr Administratoren ;) Ich habe eine Datenbanktabelle "Freundschaftsanfragen". Wenn Benutzer a Benutzer b eine Freundschaftsanfrage schickt, dann wird ...

Monitoring

SNMP werte Auslesen

gelöst Frage von sunicsMonitoring3 Kommentare

Hallo Zusammen, gibt es ein Tool, welches mir anzeigt, welche verfügbaren werte über einen SNMP public string eines Gerätes ...

Neue Wissensbeiträge
Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 1 StundeDrucker und Scanner

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 17 StundenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 3 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Erkennung und -Abwehr
Rechner hacken mit Cortana, auch Remote
Information von Lochkartenstanzer vor 3 TagenErkennung und -Abwehr3 Kommentare

heise berichtet über den Vortrag von der Blackhat Open Sesame: Picking Locks with Cortana. Einige Fehler sind schon gefixt, ...

Heiß diskutierte Inhalte
Windows Netzwerk
Performance bei Terminalserver
Frage von azizalexanderWindows Netzwerk20 Kommentare

Hallo zusammen, Ich wusste nicht in welches Thema meine Frage passt ich Bitte um Vergebung falls ich hier falsch ...

LAN, WAN, Wireless
Bandbreitenverteilung Netzwerk Linux NAS Qnap
Frage von Re-AnimatorLAN, WAN, Wireless18 Kommentare

Hallo Allerseits, ich habe hier im Netzwerk ein Problem mit der Bandbreite für das ich keine Erklärung habe! und ...

Peripheriegeräte
Steckdose(nleiste) mit Schwellwert für off und mit externem Taster
Frage von ahstaxPeripheriegeräte15 Kommentare

Hallo, ich suche eine Steckdose oder Steckdosenleiste mit externem Taster und Schwellwerterkennung. Zu realisieren ist folgendes: Ein PC soll ...

Exchange Server
Exchange 2013 - Unable to Relay nach extern, SuperMailer
Frage von leon123Exchange Server13 Kommentare

Hallo zusammen, ich brauch mal wieder eure Hilfe. Ich beschäftige mich gerade mit dem SuperMailer und erhalte vom Exchange ...