2017-01-04 5 views
2

私は2つのカラム、タイムスタンプと選択されたカード番号を持っています。 MYSQL Query:日付とカウントエントリごとのエントリ別グループ

card  count  added 
1   2   2016-09-23 
3   1   2016-09-23 
1   1   2016-09-24 
2   2   2016-09-24 
3   1   2016-09-24 

は、だから私は、私は同じである追加のカードをカウントすると思う:私は出力として必要なもの

card  added 
1   2016-09-23 13:48:48 
3   2016-09-23 13:48:48 
1   2016-09-23 13:48:48 
2   2016-09-24 13:48:48 
1   2016-09-24 13:48:48 
2   2016-09-24 13:48:48 
3   2016-09-24 13:48:48 

は、このようなエントリによってグループ化された各カードの数、です。しかし、私はどのようにすればいいのかわかりません。加えて、カードごとにグループ化する必要があります。

答えて

2

結果をカードと切り捨て日付でグループ化する必要があります。切り捨てがdate()を呼び出すことによって行うことができます。

SELECT card, DATE(added) AS added, COUNT(*) 
FROM  mytable 
GROUP BY card, DATE(added) 
+1

これは思ったよりも簡単だった方法。どうもありがとうございました。 2つの列でグループ化できるかどうかわからなかった – Hauke

0

あなただけのカードと日付をGROUP BYする必要があります。

SELECT card, COUNT(*), CAST(added AS date) added 
FROM your_table 
GROUP BY card, CAST(added AS date) 
0
SELECT card, COUNT(card) AS CNT, added 
FROM `example_table` 
GROUP BY card, added 
ORDER BY added ASC, card ASC 
+0

通常、コードの内容について説明を追加することをお勧めします。これにより、新しい開発者はコードの動作を理解することができます。 –

+0

はい、本当です、申し訳ありません。私のせい。 私は質問の前に挨拶を書きましたが、コードフォーマッタを選択すると消えてしまいました。私は私が書いていた間に多くの回答が出版されたことを見て、それがすでに解決されていると仮定しました。 –

関連する問題