abfrage Kombienieren, doppelte zählen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • abfrage Kombienieren, doppelte zählen

    Hallo, ich brauche nen kurzen Denkanstoss.
    Folgendes hab ich:

    Code:
    SELECT * 
    FROM `test` 
    WHERE `a1` 
    LIKE 'auto' OR `a2` 
    LIKE 'auto'
    Code:
    |==========|=============|
    | a1       | a2          |
    |==========|=============|
    | auto     | autohaus    | 
    | autohaus | auto        |
    | auto     | auto kaufen |
    | bmw      | auto        |
    | auto     | opel        |
    |==========|=============|
    Jetzt will ich die beiden kombienieren. (sollte ja kein problem sein, UNION,...) Doppelte sollen raus, aber mit count versehen werden.
    Sollte dann so ausschauen:
    Code:
    |============|======|
    | a1         | count|
    |============|======|
    | auto       | 5    |
    | autohaus   | 2    |
    | auto kaufen| 1    |
    | bmw        | 1    |
    | opel       | 1    |
    |============|======|
    Wie mache ich das am besten, das der mir auch den count macht?
    Zuletzt geändert von schurl; 10.05.2005, 08:53.

  • #2
    group by ist das Zauberwort

    Kommentar


    • #3
      Danke für die Antwort, soweit habe ich schon gedacht, das Problem ist, ich denke zu kompliziert.

      Nein, er zählt das ganze nicht zusammen.
      Code:
      SELECT a2 AS keyword, count(*) AS count
      FROM  `test` WHERE `a1` LIKE  'auto' GROUP BY keyword
      
      UNION ALL
      
      SELECT  a1 AS keyword, count(*) AS count
      FROM  `test` WHERE `a2` LIKE  'auto' GROUP BY keyword
      Code:
      |============|=======|
      |keyword     | count |
      |============|=======|
      |auto kaufen | 1     |
      |autohaus    | 1     |
      |opel        | 1     |
      |autohaus    | 1     |
      |bmw         | 1     |
      |====================|

      Kommentar

      Lädt...
      X