Günther S.: COUNT(*) und "normale" Datenabfrage kombinieren

Hallo,
ist es irgendwie möglich in einem MySQL-Query eine COUNT(*)-Abfrage mit einer "normalen" Datenabfrage zu kombinieren?
So nach dem Muster
SELECT
   a.COUNT(*) AS Anzahl,
   b.Name
FROM
   tabelle_a AS a,
   tabelle_b AS b;
Ein Query nach dem Muster hat einen Error zur Folge, aber ich denke jeder weiß, was ich gerne hätte. Geht das in einem Query oder muss man das aufteilen in 2 Queries?

Gruß,
Günther

  1. Hallo,
    ist es irgendwie möglich in einem MySQL-Query eine COUNT(*)-Abfrage mit einer "normalen" Datenabfrage zu kombinieren?
    So nach dem Muster
    SELECT
       a.COUNT(*) AS Anzahl,
       b.Name
    FROM
       tabelle_a AS a,
       tabelle_b AS b;
    Ein Query nach dem Muster hat einen Error zur Folge, aber ich denke jeder weiß, was ich gerne hätte. Geht das in einem Query oder muss man das aufteilen in 2 Queries?

    Hallo Günther,

    wenn du eine Count() - Abfrage machen möchtest musst du eine group by Klausel einbauen. Sonst geht meines Wissens diese Funktion nicht.

    Wenn du nur wissen möchtest, wieviele Einträge in der Datenbank sind, dann kannst du auch folgendes verwenden:
    mysql_num_rows($result)

    diese funktion gibt dir die Anzahl der ausgelesenen Einträge zurück.

    mfg
    Manuel

    1. Hi,

      ist es irgendwie möglich in einem MySQL-Query eine COUNT(*)-Abfrage mit einer "normalen" Datenabfrage zu kombinieren?
      So nach dem Muster
      SELECT
         a.COUNT(*) AS Anzahl,
         b.Name
      FROM
         tabelle_a AS a,
         tabelle_b AS b;

      versuchs mal mit
      _SELECT
      ___TA.COUNT(*) as 'Anzahl'
      _FROM
      ___Tabelle_A TA

      Ein Query nach dem Muster hat einen Error zur Folge, aber ich denke jeder weiß, was ich gerne hätte. Geht das in einem Query oder muss man das aufteilen in 2 Queries?

      Fehlermeldung? Obs in einer Abfrage geht, haengt von der Anforderung ab. Wie lautet die denn?

      wenn du eine Count() - Abfrage machen möchtest musst du eine group by Klausel einbauen. Sonst geht meines Wissens diese Funktion nicht.

      S.o.. Solche Behauptungen kommen auch oft im "GROUP BY"-Kontext, also
      _SELECT
      ___Name
      _FROM
      ___Namen
      _GROUP BY
      ___Name
      geht natuerlich auch und ist sinnvoll.

      Wenn du nur wissen möchtest, wieviele Einträge in der Datenbank sind, dann kannst du auch folgendes verwenden:
      mysql_num_rows($result)

      Huestl, das macht man aber besser auf Seiten des Datenservers, damit man nicht alle Datensaetze "rueberkommen" lassen muss.

      Gruss,
      Ludger

  2. Hallo Günther

    SELECT
       a.COUNT(*) AS Anzahl,
       b.Name
    FROM
       tabelle_a AS a,
       tabelle_b AS b;
    aber ich denke jeder weiß, was ich gerne hätte.

    Du irrst, denn ich weiß nicht, was Du gerne hättest.
    Bitte drücke mit einfachen Worten aus, was Du gerne hättest, ohne dabei an SQL zu denken. Vielleicht kann ich Dir dann weiterhelfen.

    Geht das in einem Query oder muss man das aufteilen in 2 Queries?

    Vielleicht entweder, vielleicht auch oder. Je nachdem, ob geht, was Du willst.

    Freundliche Grüße

    Vinzenz