我在sql中使用max方法有问题 当我想运行此查询时,它会给我这个错误
select max(id),oid,ofactid,obtype,obcount,
ofi,osaved,osum,ototalsum,oworkdate,max(lastdate)
from [blokDB].[dbo].[tblOrdersBuy]
where oid=1
返回此错误
列'blokDB.dbo.tblOrdersBuy.ofactid'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
答案 0 :(得分:0)
我的猜测是你想要给定id的最近一行的行。不要使用max()
,而是使用order by
和top
:
select top 1 ob.*
from [blokDB].[dbo].[tblOrdersBuy] ob
where oid = 1
order by lastdate desc;