PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   SQL / Datenbanken (https://www.php-resource.de/forum/sql-datenbanken/)
-   -   min() Funktion (https://www.php-resource.de/forum/sql-datenbanken/25244-min-funktion.html)

Svetlana 30-08-2003 11:00

min() Funktion
 
Hallo.
ich habe eine Tabellenspalte mit numerischen Werten (1,2,3,4, usw.)
Jetzt will ich den kleinsten Wert ermitteln:

select Name,min(Spalte) from tbl group by Name;

Mein Ergebniss ist

Name min(Spalte)
name 1 1
name2 2


Ich erwarte eigentlich nur die Ausgabe

Name min(Spalte)
name 1


Was mache ich falsch?

graf 30-08-2003 11:49

eigentlich nichts.

mich wundert nur, das in deinem ergebnis scheinbar DREI spalten auftauchen !?

Svetlana 30-08-2003 11:52

Die Spaltenüberschriften sind Name und min(Spalte) -also 2 Spalten. Oder wie meinen ?

graf 30-08-2003 11:55

ich meine, du sagt dein ergebnis is

name, 1, 1
name, 2, 2

das sind für mich 3 spalten oder wo kommt die 2. zahl her?

Svetlana 30-08-2003 11:57

Graf 1
Svetlana 2


so isset eigentlich gemeint.

graf 30-08-2003 12:01

hmm, also ich seh nicht wo der fehler ist.

deine abfrage ist richtig.
vielleicht kannst du ja mal posten, wie der inhalt der tabelle aussieht und wie dein ergebnis damit ist.

Zitat:

Graf 1
Svetlana 2
ist das denn falsch? bei mir ist 1 das MIN und bei dir eben 2. Entspricht das nicht dem tabelleninhalt?

Svetlana 30-08-2003 12:44

Zitat:

Original geschrieben von graf
hmm, also ich seh nicht wo der fehler ist.

deine abfrage ist richtig.
vielleicht kannst du ja mal posten, wie der inhalt der tabelle aussieht und wie dein ergebnis damit ist.


ist das denn falsch? bei mir ist 1 das MIN und bei dir eben 2. Entspricht das nicht dem tabelleninhalt?


Ahhh, jetzt sehe ich was die Abfrage macht. es wird für jeden Namen der minimalwert ermittelt. Aber ich möchte nur den namen und die Zahl
die für alle Namen den kleinsten Wert darstellt.

also nur um beim bsp zu bleiben :

graf 1

graf 30-08-2003 13:17

dann brauchst du eine datenbank die subselects unterstützt.
bei mysql ab version 4.1.xxx

und dann
select name from tbl where min_spalte = (select min(min_spalte) from tbl) group by name


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:03 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG