有这样一个表:
项目编号 投资额 得分
1 500 8
2 600 9
3 700 7
4 800 6
我要查询:投资总额<1500,得分多的项目如投资总额<800 ,得到一个项目(项目2)
如投资总额<1200 ,得到2个项目(项目2、项目1)请问该SQL语句如何写啊,Sql Server数据库
项目编号 投资额 得分
1 500 8
2 600 9
3 700 7
4 800 6
我要查询:投资总额<1500,得分多的项目如投资总额<800 ,得到一个项目(项目2)
如投资总额<1200 ,得到2个项目(项目2、项目1)请问该SQL语句如何写啊,Sql Server数据库
where a.投资额 <1500
SELECT TOP 1 FROM 表名 WHERE 投资额 < (select max(投资额) from 表名) ORDER BY 得分 DESC
(
select 项目编号,sum(投资额) as 投资额,sum(分数) as 分数
from tableA
group by 项目编号
) a
where a.投资额 < 你要的金额
and rownum < 2
order by 分数 desc
//这是oracle的