请问下:Select * from BuyerRequirement where id in (
select max(id) from BuyerRequirement group by buyerId)
上面这个语句可不可以优化?
清海扬波 说到的应该可以解决你的问题,SQL语句中最好不用 in 他在执行的效果 和 or 差不多
如果 in()括号中数据比较速度会非常慢
我使用的是MsSQL,2005以后多一个窗体函数,使用更加方便,你可写成:
select * from
(select *,Row_Number() over(Partition by buyerId order by buyerId) RowNum from BuyerRequirement) a where a.RowNum=1
一个表你去ID最大的,你该根据idgroup by,取第一条
Select * from BuyerRequirement a inner join (
select max(id)as id from BuyerRequirement group by buyerId) b on a.id=b.id
要不移地给就会更快。
Select * from BuyerRequirement where id in (
select max(id) from BuyerRequirement group by buyerId)
像你这个,同一个表你这样玩。。。,好吧,先不说你的思路,就按照你的思路的话,你把in改成=号可能效果一下就上去了