【发布时间】:2010-11-05 20:31:45
【问题描述】:
我正在尝试按 700 个符号中每天的回报百分比排名。
例如:
date symbol pct_return
-----------------------------
1100101 IBM 1.2
1100101 AAPL 2.1
1100101 HPQ -0.5
日期 1100101 大约还有 700 个这样的条目
1100102 IBM -.02
1100102 AAPL -.6
1100102 HPQ 1.9
日期 1100102 大约还有 700 个这样的条目
我要做的是创建一个查询或存储过程来循环遍历每一天,然后对每天每个符号的百分比回报进行排名并插入排名值。
我想插入回报百分比升序和降序的排名值。
排名后仅包含 3 个符号的示例表如下所示:
date symbol pct_return rank_asc rank_desc
------------------------------------------------------
1100101 IBM 1.2 2 2
1100101 AAPL 2.1 3 1
1100101 HPQ -0.5 1 3
1100102 IBM -.02 2 2
1100102 AAPL -.6 1 3
1100102 HPQ 1.9 3 1
【问题讨论】:
-
请提供该表的 CREATE TABLE 语句。
-
CREATE TABLE
T_0_ranked2(dateint(11) 默认 NULL,symvarchar(8) 默认 NULL,pct_returndecimal(8,2) 默认 NULL,event_idint (10) unsigned NOT NULL, PRIMARY KEY USING BTREE (event_id) ENGINE=MyISAM DEFAULT CHARSET=latin1;插入T_0_ranked2值 (1100101,'IBM','1.20',1),(1100101,'AAPL','2.10',2),(1100101,'HPQ','-0.50',3),( 1100102,'IBM','-0.02',4),(1100102,'AAPL','-0.60',5),(1100102,'HPQ','1.90',6);