有時候我們需要從多個相同的列裡(這些列的資料類型相同)找出最大的那個值,并顯示 這裡給出一個例子 ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |

有三種方法可以實作 方法一 ?
1 2 3 4 5 6 7 | |
方法二 ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
第一種方法使用values子句,将每行資料構造為隻有一個字段的表,以後求最大值,非常巧妙 第二種方法使用行轉列經常用的UNPIVOT 關鍵字進行轉換再顯示 第三種方法跟第一種方法差不多,但是使用union将三個UpdateByAppDate字段合并為隻有一個字段的結果集然後求最大值 第一種方法的執行計劃
第二種方法的執行計劃
第三種方法的執行計劃
總的來說,第一種方法的執行計劃是最好的 注意,這裡不涉及分組 ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
name列相同的話,是無法得出name分組之後的最大值,這裡要注意一下
http://www.2cto.com/database/201510/447166.html