易截截图软件、单文件、免安装、纯绿色、仅160KB

请教一个排名的sql语句 - MS-SQL Server / 基础类

我有一个表a,里面有三个字段,股票id,成本,收益
毛利率的计算公式是mao=(成本-收益)/成本
现在需要按照2个区间得到股票排名的名次
0.1<mao≤1 mao≤0.1
也就是说假如毛利率<=0.1的有500个股票,毛利率在0.1和1之间的有1500个股票
那么股票的排名的名次分别是1~500和1~1500

SQL code:
select * ,(select count(1) from
(select *,case when (成本-收益)*1.0/成本<=0.1 then 0.1 else 1 end mao from [a]) bb
where mao=aa.mao and (成本-收益)*1.0/成本<=(aa.成本-aa.收益)*1.0/aa.成本
)
from (select *,case when (成本-收益)*1.0/成本<=0.1 then 0.1 else 1 end mao from [a])aa


谢谢啊,如果是更多区间呢?
A≤0 0<A≤0.2 0.2<A≤0.4 0.4<A≤1

比如这种,那你的case when 里面不就不够算了?

那你就case when 里加when啊

能不能用rank这样的函数实现呢?


引用
能不能用rank这样的函数实现呢?


能提供测试数据和想要的结果吗,看描述看的晕

测试数据比如
stockid A
1 0.05
2 0.09
3 0.07
4 0.17
5 0.12
7 -1
8 -2

区间是A≤0 0<A≤0.1 0.1<A≤0.2
要得到股票代码对应的A值在上面区间中的一个排名(降序或者升序),就是类似这样的

升序排名
排名 stockid A
1 7 -1
2 8 -2

1 1 0


相关问答:

csv文件转换成sql导入到数据库,没有数据为何?

执行的顺序:
1)文件浏览框(选择文件使用)
选择好文件后
点击一个导入按钮的时候 ,把上面上传框里的csv文件以一个ID为文件名,上传到**/**文件夹下
2)读取这个文件夹下的csv的文件,转换成sql
3 ......

请教SQLSERVER的两个问题 - MS-SQL Server / 疑难问题

1。怎样使xp_cmdshell能完整输出超过255个字符的字符串。
2。select 时,检索速度是与from后的 TABLE顺序有关,还是与where条件的顺序有关(TABLE数据多少 )
在系统属性设定里有个选项,可以修改单字段输出字数限制. ......

一条 SQL - Oracle / 基础和管理

有这样一条SQL
 Select Get_Costtaxrate(col1), Get_Tcostvalue(col1) from a
 
其中Get_Costtaxrate、Get_Tcostvalue都是函数,这两个函数里面都是查找一个大表,Get_Tcostvalue还需要调用Get_C ......

关于Sql的问题 - .NET技术 / ASP.NET

将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊


多谢,可以啦,高手啊

直接执行就行了

exec ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号