Я ищу, чтобы создать сводку предметов инвентаря, показывающую самую последнюю строку за каждый месяц.Выберите самую последнюю строку на каждый элемент в месяц
Например, моя таблица имеет:
id, date, item, quantity
Я хотел бы получить одну строку, возвращенное за единицу для каждого месяца количество последнего отчета каждый месяц.
Что-то вроде:
1, (July datetime), Banana, 5
3, (July datetime), Apple, 2
4, (August datetime), Banana, 6
8, (August datetime), Apple, 8
Спасибо за любую помощь !!
То, что я пытался до сих пор это:
SELECT t1.*
FROM inventory t1
WHERE t1.date = (SELECT MAX(t2.date)
FROM inventory t2
WHERE t2.item = t1.item)
Это будет, конечно, показать самую последнюю строку для каждого элемента ... но не для каждого месяца.
Что вы пробовали? Если вы не хотите ничего делать самостоятельно, каков ваш бюджет? – h2ooooooo
Ну, если вы хотите его по месяцам, вам нужно сгруппировать по YEAR (t2.Date) и MONTH (t2.Date) в свой суб-выбор. Также t1.date = (sub-select) не будет работать, я предлагаю изучить предикат существования. – akaphenom
Ну, это что-то вроде SELECT что-то от да ничего, – Strawberry