2016-10-13 11 views
-1

私は1レコードで奇妙な問題があります。 私は毎日いくつかの行を持っています。 私は月全体で1日の最後のレコードを選択します。月刊の毎日の最後のレコード

の表は、このようなものです:

|name |surname|date_in   | 
|mario|rossi |2016-01-01 00:12:12 
|mario|rossi |2016-01-01 00:14:12 
|mario|rossi |2016-01-01 00:16:12 
|mario|rossi |2016-01-01 00:18:12 
|mario|rossi |2016-01-01 00:22:12 
|mario|rossi |2016-01-02 00:12:12 
|mario|rossi |2016-01-02 00:14:12 
|mario|rossi |2016-01-02 00:16:12 
|mario|rossi |2016-01-02 00:18:12 
|mario|rossi |2016-01-02 00:22:12 

私のクエリは、このようなものです:

SELECT name,surname,date_in 
FROM table 
    INNER JOIN 
    (
    SELECT MAX(date_in) AS maxim FROM table 
      GROUP BY date(date_in) 
    ) tableformax 
    on table.date_in = tableformax.maxim 
    WHERE 
    date_in > 2016-01-01 AND date_in < 2016-01-30 

私が正しく、毎日の最後の行を取得しますが、クエリは2016年1月7日を無視します。

私はMINを使用する場合、私は一日中

任意のアイデアを得ますか?

+0

http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry

+1

あなたの日付の周りにチックが必要はありませんか? 2005年の数学を2016-01-10と比較してdate_inですか?この日付が2016-01-07のレコードを表示する – xQbert

+0

レコードを挿入しました – MarioProject

答えて

0

SELECT名前、姓、日付(date_in)date_in_date、最大(date_in)date_in_max テーブルの日付(date_in)> = '2016年1月1日' と日付(date_in)< =「 FROM 2016-01- 31 ' グループを日付で(date_in);

次のクエリを試してみてください。私はそれが毎月の範囲であると信じています。

+0

ありがとう、ありがとう、ありがとう! – MarioProject

関連する問題