我在 SQL 中有一个数据透视表,我想分别对表的每一列执行相同的计算。我如何做到这一点。说,表有 columnA,columnB,columnc,columnD 我想从所有列中获取第 10 个最大值并将它们放在一个表中。我如何实现它?
我想为所有策略找到第 10 个最小值,然后将这些值存储在具有相同标题的单独表中。
我计算值没有问题。只是对如何将循环中的列传递给函数感到困惑。
样本数据:
| 策略A | 策略B | 策略C | 战略D | 战略E |
|---|---|---|---|---|
| 4473.164519 | -832204.0006 | 25095.16851 | 8788977.725 | 506105.7806 |
| -222508.8221 | -851761.6503 | 164218.3626 | -4367196.053 | -84624.36628 |
| 867003.7236 | 487008.4025 | 26710.88107 | 4082241.97 | 189234.9322 |
| -330435.2971 | 365190.5616 | -10584.46692 | 4102757.782 | 299020.0012 |
| -535310.2508 | 310416.7992 | 79897.24744 | -10953293.61 | -564989.8894 |
| -514024.1552 | -346664.9571 | 55618.36525 | 8522229.45 | 655242.7607 |
| -436928.7429 | -58154.95719 | -44987.25771 | 5425344.541 | 35985.08909 |
| -6464.566909 | -360774.5086 | 53418.19191 | 14460736.71 | 245481.6733 |
| 1263647.387 | 276284.247 | 71139.91947 | -2261400.941 | 43325.73506 |
| 585130.213 | 175584.3894 | 48335.7496 | 8522351.461 | -318176.6566 |
| 345966.5601 | 84640.05185 | 878.7445104 | -8279378.739 | 131650.8008 |
| -1014561.295 | -60904.16851 | 49445.97807 | 5949547.396 | -100504.8712 |
| -296675.3075 | -54446.86927 | 24695.90471 | -4290511.847 | 163124.7882 |
| -393639.2875 | -298330.2819 | 46869.02256 | 8260696.205 | 616997.3033 |
| 170574.9289 | 1443.363565 | 43365.57016 | -4090479.985 | -137358.3613 |
| 6742.101683 | 15065.29802 | 12467.78135 | -3110231.995 | -155413.7505 |
| 73421.38876 | 25301.92932 | 24400.89382 | -1907483.704 | 217638.5604 |
预期:具有相同列但每列只有第 10 个最小值的表:
| 策略A | 策略B | 策略C | 战略D | 战略E |
|---|---|---|---|---|
| -6464.566909 | 1443.363565 | 43365.57016 | 4082241.97 | 131650.8008 |