"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

SQL / Max. suchen

Vivo 01.12.2002 - 15:50 785 13
Posts

Vivo

Dreamworker
Avatar
Registered: May 2002
Location: Tal der Könige
Posts: 1478
Hio,

Frage : gibts eine SQL Abfrage mit der, der höchste Eintrag einer (integer-) Spalte herausgesucht wird ?

AmenophisIII

Addicted
Registered: Jan 2002
Location: Wien
Posts: 450
select max(blabla)
:)

Vivo

Dreamworker
Avatar
Registered: May 2002
Location: Tal der Könige
Posts: 1478
Zitat von AmenophisIII
select max(blabla)
:)

öhm ... blabla steht für die Spalte ? :confused:

lachrymology

Little Overclockerin
Avatar
Registered: Dec 2001
Location: Wien
Posts: 427
select max(tupel)
from spalte

Vivo

Dreamworker
Avatar
Registered: May 2002
Location: Tal der Könige
Posts: 1478
Jetzt bin ich komplett verwirrt ...
wie soll das gehn und was bedeutet tupel ? :)

Ich hätt auf das getippt : SELECT MAX(spalte) FROM tabelle

Edit : Geht aber blöderweise nicht !

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548

MDK

Addicted
Registered: Mar 2002
Location: Vlbg
Posts: 457
also bei mir hat es immer so funktioniert

SELECT max(col) FROM table WHERE ... GROUP BY ... HAVING ...

Vivo

Dreamworker
Avatar
Registered: May 2002
Location: Tal der Könige
Posts: 1478
$sql = "SELECT MAX(id) FROM user";
$ergebnis = mysql_query($sql,$verbindung);
$row = mysql_fetch_object($ergebnis);
echo "Maximum : ".$row->id;

Hmm ... komischerweise funz des bei mir ned ? ...
Wird das von PHP nicht unterstütz oder so, weil wenn ichs direkt in die console eingieb gehts einwandfrei ...

Edit : Das selbe Script mit anderen Abfragen funz einwandfrei

MDK

Addicted
Registered: Mar 2002
Location: Vlbg
Posts: 457
Bekommst Du eine Fehlermeldung? Falls ja wie lautet sie?

Vivo

Dreamworker
Avatar
Registered: May 2002
Location: Tal der Könige
Posts: 1478
Nein, keine Fehlermeldung ...

Ups, hatt error_reporting(7); ...
Bei 8 gibt er folgendes aus :

Notice: Undefined property: id in c:\programme\apache group\apache\htdocs\guestbook.php on line 14
Bearbeitet von Vivo am 01.12.2002, 17:10

Vivo

Dreamworker
Avatar
Registered: May 2002
Location: Tal der Könige
Posts: 1478
Aaaaah, habs ....
Für die Nachwelt :

Über den Namen kann man nicht zugreifen, nur über den Index 0 sprich :

$sql = "SELECT MAX(id) FROM user";
$ergebnis = mysql_query($sql,$verbindung);
$row = mysql_fetch_row($ergebnis);
echo "Maximum : ".$row[0];

Snoop

Here to stay
Registered: Jun 2002
Location: Gablitz
Posts: 1088
ich mach das nie mit max :)
ich mach immer $sql = "SELECT id FROM $table ORDER BY id DESC LIMIT 1 "; :)

MDK

Addicted
Registered: Mar 2002
Location: Vlbg
Posts: 457
jein, probier es einmal so:

SELECT MAX(id) AS maxid FROM user

dann solltest Du den Namen "maxid" verwenden können

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
ich hab nochwas in der MySQL-doku gefunden
was ich aber jetzt mitgekriegt hab muss das feld dazu auto-inkrement und key sein...

To make MySQL compatible with some ODBC applications, you can find the last inserted row with the following query:
SELECT * FROM tbl_name WHERE auto_col IS NULL

wobei auto_col das auto-inkrement feld is
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz