2016-06-21 5 views
1

過去6か月間の特定のログインが表示される行数を取得するようにデータベースをリクエストしようとしています。過去6ヶ月から毎週mysqlリクエスト

enter image description here

私の要求は、このようなものです::

SELECT count(*) FROM table1 where (`EndDate` BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 MONTH) and CURDATE()) AND the_login LIKE 'LOGIN 1'; 

それは今のところ6先月からすべての行を示し

出力は次のようなものである必要があります。 私の要求を完了したり、必要に応じて変更してください。

答えて

2

YEAR()WEEK()を使用して日付からそれらを抽出し、グループ化することができます。

私はWEEKしか使用していないことに注意してください。十分ではないので、6月より前にこれを実行すると、誤解される可能性があります。

また、完全一致にはLIKEを使用しないでください。部分一致の場合にのみ使用してください。

SELECT YEAR(t.endDate) as m_Year, WEEK(t.endDate) as m_Week, count(*) 
FROM table1 t 
where t.`EndDate` BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 MONTH) 
         and CURDATE()) 
    AND t.the_login = 'LOGIN 1' 
GROUP BY m_Year,m_Week 
+0

ありがとうございました!それは魅力のように働く。 –

+0

@ R.co他の人が簡単にそれを見ることができるように、回答としてマークすることを忘れないでください – Pepys

+1

ええ、私はちょうどその2分を待たなければならなかった^ _ ^ –

関連する問題