在一个时间范围内想得到月份最大的纪录,如2006年material_id=11 的有6,7,8月份的纪录,现只想得到8月份的记录,请教各位大侠SQL该怎么写,我写的SQL如下,存在问题:如果2005年material_id=11的存在9月份的数据,那会显示2005年9月份的数据,而不是我 想得到的2006年8月份的数据
select t.*
from (select s.* ,row_number() over(partition by s.material_id,s.material_sid order by s.lfgja(年份字段),s.lfmon(月份字段) desc) n
from (select  b.MATERIAL_SID,a.MATERIAL_ID,a.LFMON,a.STANDARD_PRICE_AMT,d.BILLED_QTY,a.UNIT_PRICE_AMT,a.LFGJA,a.VALUATION_AREA_CD
from base_valuation_ch a,ods_dim_material_1300 b,ods_sales_billing_dtl_1300 d
where a.MATERIAL_ID=b.MATERIAL_ID
and b.MATERIAL_SID=d.MATERIAL_SID)s )t
where n=1