分組最大值
目標是檢索內每個唯一證券的最新頭寸,由其 ID 和相應的購買日期標識。給定的資料集。
考慮下面的表位置。
</th></tr></thead> <tbody> <tr> <td>id</td> <td>security</td> <td>buy_date</td> </tr> <tr> <td>26</td> <td>PCS</td> <td>2012-02-08</td> </tr> <tr> <td>27</td> <td>PCS</td> <td>2013-01-19</td> </tr> <tr> <td>28</td> <td>RDN</td> <td>2012-04-17</td> </tr> <tr> <td>29</td> <td>RDN</td> <td>2012-05-19</td> </tr> <tr> <td>30</td> <td>RDN</td> <td>2012-08-18</td> </tr> <tr> <td>31</td> <td>RDN</td> <td>2012-09-19</td> </tr> <tr> <td>32</td> <td>HK</td> <td>2012-09-25</td> </tr> <tr> <td>33</td> <td>HK</td> <td>2012-11-13</td> </tr> <tr> <td>34</td> <td>HK</td> <td>2013-01-19</td> </tr> <tr> <td>35</td> <td>SGI</td> <td>2013-01-17</td> </tr> <tr> <td>36</td> <td>SGI</td> <td>2013-02-16</td> </tr> <tr> <td>18084</td> <td>KERX</td> <td>2013-02-20</td> </tr> <tr> <td>18249</td> <td>KERX</td> <td>0000-00-00</td> </tr> </tbody> </table> <p></p> <p>擷取所需結果的最佳化查詢如下:</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">SELECT p1.id, p1.security, p1.buy_date FROM positions p1 LEFT JOIN positions p2 ON p1.security = p2.security AND p1.buy_date < p2.buy_date WHERE p2.id IS NULL; 登入後複製 此查詢避免使用子查詢,這可以顯著減少執行時間,特別是對於大型查詢 結果是一個具有以下結構的表:
每一行代表唯一證券的最新位置,既ID 和購買日期。 以上是如何有效率地尋找資料庫中每種證券的最新位置?的詳細內容。更多資訊請關注PHP中文網其他相關文章! 來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
function_exists()無法判定自訂函數
function test() { return true; } if (function_exists('TEST')) { ech...
來自於 2024-04-29 11:01:01
0
3
2539
父視窗沒有輸出
document.onclick = function(){ window.opener.document.write('我是子視窗的輸出'); ...
來自於 2024-04-18 23:52:34
0
1
2136
熱門教學
更多>
|
---|