Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2004 Teil von Mai

SELFHTML Forumsarchiv
[MySQL]MAX(date)

Informationsseite
  1. Seite (DATENBANK) [MySQL]MAX(date) von Mickey, 23. 05. 2004, 11:09
nach unten

[MySQL]MAX(date)

Die folgende Nachricht zum Thema stammt von: Mickey, 23. 05. 2004, 11:09

hi all,

stehe gerade etwas auf der grossen wietenr leitug

habe eine table [A]:

USER I ROUND I DATE
---------------------------------
usera I 3 I 2004-04-01
usera I 4 I 2004-04-11
usera I 2 I 2004-04-21
userb I 6 I 2004-03-01
userb I 4 I 2004-04-01


SO, ich möchte mir nur die neursten runden angezeigt werden
also, jeder user soll erschienen, aber nur mit der runde die als letztes gemacht wurde

ergebniss:
usera I 2 I 2004-04-21
userb I 4 I 2004-04-01

bastle schon diue ganze zeit herum, nur wenn ich SELECt max(`DATE`),`ROUND` FROM A GROUP BY USER mache
steht immer das neuerste datum da, das passt, nur nicht die dazugehörige runde !
jemand eine idee? geht das evnetuell mit joins? habe mal einen ansatz, nur leider sitmmt dieser sicher nicht, oder?

soweit bin ich gekommen:

SELECT
  e_dummy.USER,e_dummy.ROUND,e_dummy.DATE
FROM
   `A` as e
    INNER JOIN `A` as e_dummy
    ON
      e.USER=e_dummy.USER
      AND
      e.DATE<e_dummy.DATE
GROUP BY e.USER

AUSGABE:
usera I 4 I 2004-04-11
userb I 4 I 2004-04-01

SELECT
  e_dummy.USER,e_dummy.ROUND,e_dummy.DATE
FROM
   `A` as e
    INNER JOIN `A` as e_dummy
    ON
      e.USER=e_dummy.USER
      AND
      e.DATE>e_dummy.DATE
GROUP BY e.USER

AUSGABE:
usera I 3 I 2004-04-01
userb I 6 I 2004-03-01

also beides keine werte die ich haben will. erstes ist schon nah dran, nur zeigt er mir den 2 wert von usera und bei userb ebenfalls.

danke

nach obennach unten

[MySQL]MAX(date)

Die folgende Nachricht zum Thema stammt von: Ilja, 23. 05. 2004, 12:54

yo,

es geht entweder über zwei abfragen oder aber unterabfragen. willst du beides umgehen, gibt es noch eine weitere möglichkeit, die aber vorrausetzt, dass datumsangaben sich nicht gleichen, sprich pro user nicht datensätze vorkommen, die das gleiche datum haben. das wäre dann.

SELECT user, MAX(round) GROUP BY user HAVING date = MAX(date);

wobei man für MAX(rouund) auch MIN(round) nemhen kan, wichtig ist nur, dass es eine aggregatfunktion ist.

Ilja

nach obennach unten

[MySQL]MAX(date)

Die folgende Nachricht zum Thema stammt von: Mickey, 23. 05. 2004, 13:15

[.....]
»» SELECT user, MAX(round) GROUP BY user HAVING date = MAX(date);
das haut mal mit diesem beispiel nicht hin. schriebt mir genau gar ncihts hin....
habe übrgins noch version 4.0.X das ist glaube ich noch kein subselectg möglich, und ein update währe jetzt etwas übertrieben. kann mir ja nicht vorstellen das das nicht wikrlich geht.

nach obennach unten

[MySQL]MAX(date)

Die folgende Nachricht zum Thema stammt von: Ilja, 23. 05. 2004, 16:01

yo,

»» das haut mal mit diesem beispiel nicht hin. schriebt mir genau gar ncihts hin....

was genau haut den nicht hin, bzw. welche ergebnisliste liefert er, eine leere  ???

Ilja

nach obennach unten

[MySQL]MAX(date)

Die folgende Nachricht zum Thema stammt von: Mickey, 23. 05. 2004, 16:03

[......]
»» was genau haut den nicht hin, bzw. welche ergebnisliste liefert er, eine leere  ???
ja, wie gesagt nichts. es sind zum testen die sleben datensätze wie oben angeführt drinnen und es kommt nichts.


danke

nach obennach unten

[MySQL]MAX(date)

Die folgende Nachricht zum Thema stammt von: Mickey, 23. 05. 2004, 17:43

[......]
so sollte es jetzt passen:
SELECT `USER`,`ROUND`,MAX(CONCAT(`DATE`,' I ',`ROUND`)) as `VALUE`
FROM `A` GROUP BY `USER`

muss man halt das ergebnis von VALUE dann teilen (array etc.)

gruss

nach obennach unten

[MySQL]MAX(date)

Die folgende Nachricht zum Thema stammt von: Ilja, 23. 05. 2004, 22:58

yo,

»» so sollte es jetzt passen:
»» SELECT `USER`,`ROUND`,MAX(CONCAT(`DATE`,' I ',`ROUND`)) as `VALUE`
»» FROM `A` GROUP BY `USER`

das würde mich wundern...aber wunder kommen immer wieder vor

Ilja

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2004 Teil von Mai

© 1998-2006 Seite Impressum, Software: Classic Forum