gpt4 book ai didi

mysql - 想要具有 max(date) 的行

转载 作者:行者123 更新时间:2023-11-30 23:24:49 25 4
gpt4 key购买 nike

这适用于 MYSQL:

SELECT hi_Historie_id, 
hi_Klus_id,
hi_Datum_gedaan,
hi_Prijs,
hi_Voldaan,
hi_Datum_voldaan,
hi_Voldaan_via,
max(hi_next_date),
hi_Opmerking
FROM Historie
GROUP BY hi_Klus_id

这给出了正确的结果:具有最新日期的 hi_Klus_id 的所有行

但是我将与另一个表进行连接:

LEFT OUTER JOIN Glazenwassen ON Historie.hi_Klus_id = Glazenwassen.gw_Klus_id 
WHERE Historie.hi_next_date <= CURDATE()

这会产生错误 #1064

谁能解释一下为什么?

最佳答案

我的建议是创建一个子查询以返回 MAX(hi_next_date),然后将该结果加入到 HistorieGlazenwassen表格:

select h.hi_Historie_id, 
h.hi_Klus_id,
h.hi_Datum_gedaan,
h.hi_Prijs,
h.hi_Voldaan,
h.hi_Datum_voldaan,
h.hi_Voldaan_via,
h.hi_next_date,
h.hi_Opmerking
from Historie h
inner join
(
select max(hi_next_date) hi_next_date, hi_Klus_id
from Historie
group by hi_Klus_id
) h2
on h.hi_Klus_id = h2.hi_Klus_id
and h.hi_next_date = h2.hi_next_date
left join Glazenwassen g
on h.hi_Klus_id = g.gw_Klus_id
where h.hi_next_date <= CURDATE()

当您将子查询连接到 Historie 表时,您需要同时连接 hi_next_datehi_Klus_id

关于mysql - 想要具有 max(date) 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13880460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com