max()

Dieses Thema im Forum "Datenbanksysteme für das Web" wurde erstellt von eyz, 10.11.2004.

  1. eyz

    eyz Thread Starter MacUser Mitglied

    Beiträge:
    176
    Zustimmungen:
    0
    Mitglied seit:
    29.12.2003
    hoi

    hier wieder ein neues problem, bei dem ich auf eure hilfe hoffe :)

    ..LEFT JOIN tableA a ON b.AID=max(a.ID)

    laut mysql_error(): Invalid use of group function

    ich möchte praktisch einen wert ausgeben.. -ORDER BY a.ID DESC LIMIT 1- kann ich nicht verwenden, da ich LIMIT schon einmal benutze im query

    naja, max() kann ich also nicht im "join-statement?" angeben, gibts da eine andere möglichkeit den größten wert aus der spalte rauszuholen? Oder sollte ich mir das überhaupt anders überlegen?

    eyz :)
     
  2. wegus

    wegus MacUser Mitglied

    Beiträge:
    14.832
    Zustimmungen:
    1.431
    Mitglied seit:
    13.09.2004
    http://dev.mysql.com/doc/mysql/en/JOIN.html

    ich hab jetzt leider nicht viel Zeit. Da steht aber nicht, das es nicht geht! Da steht das group verkehrt benutzt wurde ( vermutlich da gar nicht verwendet)

    Generell gilt bei select mit Aggregat und Non-Aggregat Bestandteilen müssen die NON-Aggregate in einer group angegeben werden:

    select t1.a,t2.b,t2.c,sum(t1.d)
    from t1 left join t2 on t1.a=t2.e
    group by t1.a,t2.b,t2.c

    Zumindest fordert das mein MS SQL-Server so. Wie's bei mysql ist müßte ich probieren, aber mangels Zeit: have a try by yourself...
     
Die Seite wird geladen...

Diese Seite empfehlen