日期:2014-05-17  浏览次数:20731 次

如何按60%的原则取舍数据。谢谢
如以下数据:
a         得分       名次
-------------
a         98       1
b         96       2  
c         93       3
d         88       4
e         80       5  
f         79       6
g         72       7

需求:从高到低,按60%的原则取数据,注意部分得分相同的情况处理(比如两条或三条数据的得分及名次是一样的)。谢谢
SQL如何写

------解决方案--------------------
SELECT * FORM
(SELECT A, SCORE, POS FROM TABLE_NAME ORDER BY SCORE DESC)
WHERE ROWNUM < (SELECT CEIL(COUNT(*) * 0.6) FROM TABLE_NAME)

你说的60%的原则和相同数据如何取的原则不清晰,你自己改下吧