SQL: Datum formatiert ausgeben und Zeilen zählen

PhoenixDH

Erfahrenes Mitglied
Hallo zusammen,

ich habe eine Tabelle mit mehreren Zeilen.
Hierbei ist für mich das Datum entscheident.
Das Datumsfeld ist ein smalldatetime-Feld.

Jetzt würde ich gerne das Feld so zerlegen das ich nur yyyy-mm-dd habe.
Anschließend sollen dann noch die Zeilen gezählt werden die dieses Datum enthalten.

Also also Bsp.:
Datum | Count
2012-02-17 | 2
2012-02-18 | 4

Das umformatieren habe ich in etwa hinbekommen, nur den anschließenden Count nicht.

Hier mal der Code:
Code:
SELECT left(bf_timestamp,10) as Datum
  FROM [DB].[dbo].[table]
  where BF_STATUS = 'SOLVED'
  order by Datum asc

Dank euch!
 
Mit [] geschrieben. Handelt es sich um MS SQL? Es st wichtig. Jede DBMS hat hier seine eigenen Befehle.

Aber was eigentlich immer gilt. Für den COUNT brauchst du ein GROUP BY und das Argument muss dasselbe sein wie im SELECT

Angenommen, deine Datumsermittlung stimmt,
SQL:
SELECT
    LEFT(bf_timestamp,10) as datum,
    COUNT(*) AS my_count
FROM
    [DB].[dbo].[table]
WHERE
    bf_status = 'SOLVED'
GROUP BY
    LEFT(bf_timestamp,10) as datum
ORDER BY
    datum asc
 
Zuletzt bearbeitet von einem Moderator:
Was für eine Datenbank ist das?

Bei mySQL könntest du es so lösen:

SQL:
SELECT
    COUNT(*) AS anzahl,
    DATE_FORMAT(dein_datum, "%Y-%m-%d") AS datum
FROM deine_tabelle
    WHERE BF_STATUS = 'SOLVED'
    GROUP BY datum
    ORDER BY datum
 

Neue Beiträge

Zurück