テーブル'Clicks'を持つMySQLデータベースがあります。グループ化して年、月、日の部分を選択したい「作成済み」列(日時)があります。特定の日付範囲(startDateとendDate)内の1日あたりのレコードをカウントしたい。
var query = from c in scope.Entities.Clicks
where c.Created >= startDate && c.Created <= endDate
group c by new {c.Created.Year, c.Created.Month, c.Created.Day}
into grouped
select new {
Year = grouped.Key.Year,
Month = grouped.Key.Month,
Day = grouped.Key.Day,
Clicks = grouped.Count()
};
これは悪いクエリを生成します:
SELECT
`GroupBy1`.`K1` AS `C1`,
`GroupBy1`.`K2` AS `C2`,
`GroupBy1`.`K3` AS `C3`,
`GroupBy1`.`K4` AS `C4`,
`GroupBy1`.`A1` AS `C5`
FROM (SELECT
COUNT(1) AS `A1`
FROM `Click` AS `Extent1`
WHERE (`Extent1`.`Created` >= @p__linq__0) AND (`Extent1`.`Created` <= @p__linq__1)
GROUP BY
1,
YEAR(`Extent1`.`Created`),
MONTH(`Extent1`.`Created`),
DAY(`Extent1`.`Created`)) AS `GroupBy1`
エラーあり:MySql.Data.MySqlClient.MySqlException:「A1」でグループ化できません
私は何を間違えますか?それとも、これはMySqlコネクタのバグですか?MySQLコネクタ6.5.4および6.6.5を試しました