Çë½ÌÒ»¸öÅÅÃûµÄ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ÕâÑùµÄº¯ÊýʵÏÖÄØ£¿
ÄÜÌṩ²âÊÔÊý¾ÝºÍÏëÒªµÄ½á¹ûÂ𣬿´ÃèÊö¿´µÄÔÎ
²âÊÔÊý¾Ý±ÈÈç
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
Ïà¹ØÎÊ´ð£º
Ö´ÐеÄ˳Ðò£º
1£©Îļþä¯ÀÀ¿ò£¨Ñ¡ÔñÎļþʹÓã©
Ñ¡ÔñºÃÎļþºó
µã»÷Ò»¸öµ¼Èë°´Å¥µÄʱºò £¬°ÑÉÏÃæÉÏ´«¿òÀïµÄcsvÎļþÒÔÒ»¸öIDΪÎļþÃû£¬ÉÏ´«µ½**/**Îļþ¼ÐÏÂ
2£©¶ÁÈ¡Õâ¸öÎļþ¼ÐϵÄcsvµÄÎļþ£¬×ª»»³Ésql
3 ......
¿ÉÄÜÒòΪ¹¤×÷µÄÔÒò ½Ó´¥Êý¾Ý¿âÕâ¿é±È½ÏÉÙ£¬Ö®Ç°¶¼ÊÇ×ö³ÌÐòÕâ¿é£¬Êý¾Ý¿âÕâ¿é¶¼ÓÐרÃŵÄÈËÀ´×ö ·Ö¹¤¶¼ºÜÃ÷ϸ ËùÒÔ¶ÔÊý¾Ý¿âÕâÒ»¿éÍêÈ«²»Á˽⡣ǰ¶Îʱ¼ä È¥ÃæÊÔÁ˼¸¼Ò¹«Ë¾ ¼¸ºõ¶¼ÊÇÔÚÊý¾Ý¿âÕâ¿é¹ÒµôµÄ Á¬¸ö¼òµ¥µÄSQ ......
ÏÖÔÚÓÐÁ½ÕÅ±í£ºÎÄÕÂÖ÷±íA(articleId,articleTitle)£¬ÎÄÕÂÆÀÂÛ±íB(commentId,articleId,commentTitle)
ÏÖÔÚÎÒÏëʵÏÖÕâÑùµÄ¹¦ÄÜ£ºÁгöÎÄÕÂÁÐ±í£¬ÆäÖÐÿƪÎÄÕ±êÌâÏÂÃæÁгö´ËÎÄÕµÄǰ2¸öÎÄÕÂÆÀÂÛ£¬ÇëÎÊsqlÓï¾äÔõôд°¡ ......
ÕâÀïÏëÁ˽âÏ£¬¹ØÓÚSQL ServerÖзÖÒ³ºÍOracleÖзÖÒ³£»
ƽ³£Ð´Ó¦ÓóÌÐòµÄʱºò£¬±ÈÈçÓõÄÓïÑÔÊÇJava£¬ÓиöÁбíÒ³Ãæ£¬ÐèÒª¶ÔÊý¾Ý·ÖÒ³ÏÔʾ£»
ÕâÀïÒª·ÖÒ³ÄѵÀ²»ÐèÒª½èÖúJava£¬¶øÖ±½ÓsqlÄÜÖªµÀ·ÖÒ³Âð£¬ÆðÂëÒ²Òª´«¸öÒ³Âë½ ......