max()

  1. eyz

    eyz Thread Starter MacUser Mitglied

    Mitglied seit:
    29.12.2003
    Beiträge:
    176
    Zustimmungen:
    0
    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 :)
     
    eyz, 10.11.2004
    #1
  2. wegus

    wegus MacUser Mitglied

    Mitglied seit:
    13.09.2004
    Beiträge:
    14.982
    Zustimmungen:
    1.545
    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...
     
    wegus, 11.11.2004
    #2
Die Seite wird geladen...
Ähnliche Themen - max()
  1. greenvillage
    Antworten:
    0
    Aufrufe:
    835
    greenvillage
    19.11.2009
  2. SirJoker
    Antworten:
    6
    Aufrufe:
    2.206
    SirJoker
    08.08.2006