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, 9337 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 MySQL Abfrage aus Datenbank

Frage von Lost144PHP12 Kommentare

Hallo, Ich habe in einer Datenbank daten über VM's stehen. Angaben wie hostname,adresse, serverat usw. Wie kann ich in ...

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 ...

Neue Wissensbeiträge
CPU, RAM, Mainboards
Neverending story
Tipp von keine-ahnung vor 22 StundenCPU, RAM, Mainboards1 Kommentar

Da kommt man mit dem fixen gar nicht mehr hinterher und die CPU erreichen wieder Rechenleistungen im Bereich des ...

Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 2 TagenMultimedia & Zubehör4 Kommentare

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Windows Server

Windows Server Backup schlägt fehl - Lösung 2008-2016

Tipp von BiGnoob vor 2 TagenWindows Server

Hi zusammen , ich möchte gerne einen Lösungstipp abgeben für folgenden Fehler: Lösung ist folgende:

Humor (lol)
Telekom vs. O2 - 3:2
Erfahrungsbericht von the-buccaneer vor 3 TagenHumor (lol)4 Kommentare

Unglaublich aber wahr: Nachdem mein privater Anschluss am 19.04.18 auf VOIP und VDSL umgestellt wurde, hatte ich seitdem 1,5 ...

Heiß diskutierte Inhalte
PHP
Nach Umzug zu 1und1 bekomme ich beim Eintrag in die DB Tabelle folgenden Fehler
gelöst Frage von jensgebkenPHP35 Kommentare

INSERT command denied to user 'dbo45342345342231244'@'112.127.102.073' for table 'orders'

Windows Userverwaltung
Problem mit Benutzerprofil
Frage von lieferscheinWindows Userverwaltung22 Kommentare

Guten Tag liebe Community, folgendes Problem habe ich: User meldet sich auf Client A an - sein Homelaufwerk verbindet. ...

Rechtliche Fragen
DSGVO - Impressum und Datenschutz auf Anmeldeseiten notwendig?
Frage von StefanKittelRechtliche Fragen20 Kommentare

Hallo, was mit gerade eingefallen ist. Muss man auf Anmeldeseiten auch ein Impressum und Datenschutzhinweis haben? Auch hier wird ...

LAN, WAN, Wireless
Powerline über zwei Stockwerke optimieren
Frage von DultusLAN, WAN, Wireless12 Kommentare

Guten Morgen liebes Forum, ich hätte einmal eine Frage bezüglich Powerline Adapter: Mein Problem ist seit gestern präsent, da ...