hande: SELECT-query kombi. SUM, COUNT, MAX...

hallo

also, ich will:
aus einer tabelle

1. alle einträge einer spalte zusammenzählen(hits):
SUM(out_going)

2. die gesamtanzahl aller einträge:
COUNT(id)               (id == autoincrement)

3.den letzten eintrag der tabelle anzeigen
denke mir nehme die "id" weil increment
MAX(id)

bin jetzt soweit:
$sql= "SELECT SUM(out_going),COUNT(id), max(id) FROM linklist";

fehlt aber noch was, jetzt wird zwar die "id" nummer angezeigt
(echo $ergeb[3];)
aber es soll "name" angezeigt werden, dort wo: max(id)

also irgendwie so: GET "name" WHERE max(id)

aber wie mach ich das in einem query ???

danke
hande

  1. hi,

    $sql= "SELECT SUM(out_going),COUNT(id), max(id) FROM linklist";

    du selektierst also gar keine spalte namens "name".

    fehlt aber noch was, jetzt wird zwar die "id" nummer angezeigt
    (echo $ergeb[3];)
    aber es soll "name" angezeigt werden, dort wo: max(id)

    wie willst du etwas anzeigen, dass du noch nicht einmal selektiert hast?

    aber wie mach ich das in einem query ???

    zuerst mal die spalte "name" in die liste der zu selektierenden felder aufnehmen.
    kann aber sein, dass du dann wegen der aggregatfunktionen probleme bekommst ... ausprobieren, und ggf. wieder hier melden.

    gruss,
    wahsaga

    1. hi,

      ich habs mal so probiert:

      $sql= "SELECT SUM(out_going),COUNT(id), MAX(id),site_name FROM linklist GROUP BY site_name ORDER BY id DESC LIMIT 0,1;";

      der letzte eintrag wird so zwar angezeigt(echo $ergeb[3]),
      aber nun leider nicht die summe vom gesamten "out_going" und COUNT(id), sondern nur die werte vom letzten eintrag.

      wollte zwar 2 querys vermeiden, aber wenns nicht anders geht...
      jemand eine idee ?

      danke
      hande

  2. SELECT ´name´, SUM(´out_going´), COUNT(´id´), MAX(´id´) FROM linklist GROUP BY ´name´ ORDER BY ´id´;

    Auch wenn ich nicht glaube, dass sich die Funktionen alle zusammen verwenden lassen, naja, versuch mal dein Glück ;o)

    Gruss Stefan