这种类型的问题时不时地被问到。提供的查询有效,但会影响性能。
我试过这个JOIN
方法:
SELECT *
FROM nbk_tabl
INNER JOIN (
SELECT ITEM_NO, MAX(REF_DATE) as LDATE
FROM nbk_tabl
GROUP BY ITEM_NO) nbk2
ON nbk_tabl.REF_DATE = nbk2.LDATE
AND nbk_tabl.ITEM_NO = nbk2.ITEM_NO
元组一(速度较慢):
SELECT *
FROM nbk_tabl
WHERE REF_DATE IN (
SELECT MAX(REF_DATE)
FROM nbk_tabl
GROUP BY ITEM_NO
)
有没有其他性能友好的方式来做到这一点?
编辑:为了清楚起见,我将其应用于具有数千行的表。