2016-10-13 4 views
-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-01-07.

Если я использую 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

Вам не нужно иметь тики вокруг ваших дат? сравнивается date_in с 2016-01-10, делая математику 2005? Показать (или несколько) записей с этой датой 2016-01-07 – xQbert

+0

Я вставил некоторые записи – MarioProject

ответ

0

SELECT, имя, фамилия, дата (date_in) date_in_date, макс (date_in) date_in_max ИЗ таблицы ГДЕ дата (date_in)> = '2016-01-01' и дата (date_in) < = «2016-01- 31 ' группа по дате (date_in);

Попробуйте выполнить следующий запрос, и я считаю, что это месячный диапазон.

+0

спасибо спасибо спасибо !!!! – MarioProject

Смежные вопросы