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, 9373 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 Formular für ORACLE Datenbank

gelöst Frage von Mr.RobotPHP

Hallo Freunde, ich bin Systemintegrator in einem mittelständischen Unternehmen. Wir haben gerade ein Warenwirtschaftsprojekt + Umzug hinter uns und ...

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
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 12 StundenAusbildung8 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 2 TagenSpeicherkarten2 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 2 TagenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 3 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Off Topic
SysAdmin im öffentlichen Dienst - jemand Erfahrungen?
Frage von JohnDorianOff Topic22 Kommentare

Hallo zusammen, hat jemand Erfahrung wie es so ist als SysAdmin im öffentlichen Dienst (Landkreis) im Südwesten der Republik ...

SAN, NAS, DAS
Nas mit USB und LAN gleichzeitig zugreifen
gelöst Frage von MarkBeakerSAN, NAS, DAS16 Kommentare

Hallo zusammen, ich suche eine Art NAS, womit ich via LAN und USB zugreifen kann. Folgender Aufbau ist gedacht: ...

Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware16 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...

Entwicklung
Ist dies als Programmieren zu bezeichen?
Frage von kmsw110Entwicklung13 Kommentare

Hallo, ein Kollege redet dauernd darüber das er im Betrieb seine Maschinen (Fräsmaschinen) Programmiert bzw. Zahlenwerte in ein .txt ...