Как отобразить данные в конце месяца - PullRequest
0 голосов
/ 26 декабря 2018

Как вы отображаете последние данные за определенный месяц?

Например, у меня есть такие данные

  date      data
2003-04-18 | 12
2003-04-25 | 14
2003-05-16 | 51
2003-05-23 | 21
2003-05-30 | 22
2003-06-06 | 11
2003-06-27 | 14

Я хочу отобразитьданные

  date      data
2003-04-25 | 14
2003-05-30 | 22
2003-06-27 | 14

Какой пример запроса используется?

Я пытаюсь выполнить этот запрос, но отображаются все данные

SELECT tgl_hargaemas, harga FROM tbl_hargaemas
WHERE tgl_hargaemas >= '2003-01-03' - INTERVAL DAYOFMONTH('2018-01-03') MONTH

1 Ответ

0 голосов
/ 26 декабря 2018

Используйте простой подзапрос GROUP BY, чтобы найти максимальную дату для каждого года-месяца, за которой следует ВНУТРЕННЕЕ СОЕДИНЕНИЕ:

SELECT t.*
FROM (
    SELECT MAX(date) AS maxdate
    FROM t
    GROUP BY YEAR(date), MONTH(date)
) AS g
INNER JOIN t ON g.maxdate = t.date

Демонстрация в БД <> Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...