Linuchs: Kann ein GROUP BY mehrere COUNT() haben?

Beitrag lesen

problematische Seite

Lasst mir noch mal eben Nachdenk-Zeit bis 12:30 Uhr, bevor ihr antwortet

Moin,

für einen Veranstaltungskalender möchte ich die Nationen, Anzahl künftiger Termine und Orte zählen für die Angabe

x Nationen, y Orte, z Events

Anzahl Orte und Anzahl Events sind gleich, das kann nicht stimmen.

SELECT
 COUNT(trm1.id) anzahl_events
,COUNT(ort1.id) anzahl_orte
,ort1.land_kz
FROM        (bia_termine trm1
            ,bia_orte ort1 )
WHERE       trm1.owner_id = '1'
AND         ort1.id = trm1.ort_id

AND        (trm1.gesperrt_bis IS NULL OR trm1.gesperrt_bis <= NOW())
AND         trm1.intern_kz  = 0
#AND         trm1.tag        >= CURDATE() OR  trm1.tag_bis >= CURDATE()
GROUP BY    ort1.land_kz
  $res_nationen  = @mysql_query( $q, $conn_id ); zeigSqlFehler( $q, $conn_id );
  if ( @mysql_num_rows( $res_nationen )) {
    $anzahl_nationen  = @mysql_num_rows( $res_nationen );
    $nationen_links   = "";
    $gesamt_orte      = 0;
    $gesamt_events    = 0;
    while ( $row  = mysql_fetch_assoc( $res_nationen ) ) {
      $nationen_links .=  '<a href="/?nation=' . $row['land_kz'] . '&amp;lg=' . $bia_lg . '">' . $row['land_kz'] . '</a> (' . $row['anzahl_events'] . ') &nbsp;';
      $gesamt_orte    +=  $row['anzahl_orte'];
      $gesamt_events  +=  $row['anzahl_events'];
    }
  }

Stehe auf dem Schlauch, wo ist der Fehler?

Wenn die auskommentierte SQL-Zeile aktiv ist, erhöht sich die Trefferzahl, sie müsste eigentlich kleiner werden, weil vergangene Events entfallen.

Linuchs