Select C.min_price, C.day
From compress As C
Where C.item_name = '$item'
And Exists (
Select 1
From compress As C2
Where C2.item_name = C.item_name
And Extract(Month From C2.day) = Extract(Month From C.day)
And Extract(Year From C2.day) = Extract(Year From C.day)
Group By Extract(Month From C2.day), Extract(Year From C2.day)
Having C.min_price = Min(C2.min_price)
)
ADDITION 强>
MySQL更适合加入,所以这里是同一查询的变体
Select C.min_price, C.day
From compress As C
Join (
Select C2.item_name
, Extract(Month From C2.day) As ItemMonth
, Extract(Year From C2.day) As ItemYear
, Min(C2.min_price) As MinPrice
From compress As C2
Group By C2.item_num, Extract(Month From C2.day), Extract(Year From C2.day)
) As Z
On Z.item_name