ドメインごとに月ごとに日付をフィルタリングしようとしています。 ここにデータのサンプルがあります。mysqlの間での使用方法
ドメイン - ID:1、2
ドメイン - ラベル:ユーザ1、ユーザ2
Fact_data - domain_idに:1、2
Fact_data - 日付: '2016年1月1日' から変化します'2016-03-20'
これは私が試したSQLですが、何とかエラーがあります。
SELECT d.label, COUNT(*) AS count, date_format(f.date, 'YYYY-MM') AS date
FROM domain d, fact_data f
WHERE f.domain_id = d.id
AND f.date >= `2016-01-01` AND f.date <=`2016-01-31`
GROUP BY `domain_id`;
私は結果が似ていることを望みます。
| domain | count | date |
----------------------------------
| User1 | 3 | 2016-01 |
| User2 | 1 | 2016-01 |
| User1 | 2 | 2016-02 |
| User1 | 1 | 2016-03 |
| User2 | 2 | 2015-03 |
どのようなエラーが表示されますか? – Mureinik
'AND f.date> = ...'句にバックティックの代わりに正規のティック '' 'を使用します。バッククォートは、列/テーブル/データベース名用です。 – PerlDuck
MySQLはバッククォートを使用してデータベース、テーブル、およびフィールド名を引用します。あなたの実際のクエリがあなたがここに投稿したように見えないことを願っています。アポストロフィ( '' ')または二重引用符(' "')を使用して、文字列を囲みます。 – axiac