1. ホーム
  2. sql

[解決済み】Datetimeカラムの日付のみによるグループ化

2022-04-10 01:12:54

質問

以下のようなカラムを持つテーブルがあります。 mydate DATETIME ...

というようなクエリーがあります。

SELECT SUM(foo), mydate FROM a_table GROUP BY a_table.mydate;

これは、完全な datetime 時間、分も含む。グループ化の対象を日付のみにしたい。 YYYY/MM/DD でなく YYYY/MM/DD/HH/mm .

どうすればいいのか?

どのように解決するのですか?

datetimeを日付にキャストし、この構文でGROUP BYします。

SELECT SUM(foo), DATE(mydate) FROM a_table GROUP BY DATE(a_table.mydate);

または、@orlandu63 が提案したように、エイリアスを GROUP BY することもできます。

SELECT SUM(foo), DATE(mydate) DateOnly FROM a_table GROUP BY DateOnly;

パフォーマンスには影響がないと思いますが、少しスッキリしましたね。