回答

收藏

选择最近的记录

技术问答 技术问答 252 人阅读 | 0 人回复 | 2023-09-12

如何选择具有几乎相同类型数据的最新记录?…; ~7 `3 g7 G2 w- u& {
例子:
* p0 h" u. f/ \% w  Mcol      col2          col3  3                                                                                                                                                                                                                                                                                                                                                                          col4--------------------------------------------------123        abc      .              12345123        abc      .              1234451234        dsv       .0           231234        dsv       .0           23312345       dsvw      .2               1234col与其它列相比,最大值。
' f+ D  h3 O# q' H! r6 p看到row1和row数据看起来很相似,但我们需要基于它col最新数据4。
& N. h$ K& x- {% L, R: G: F与row3和row数据看起来相似,但我们需要基于它col最新数据4。
) l% I; r0 M9 h/ d' w4 X0 O7 P" D所需输出为:
& e5 V# R* D% X; gcol1    col2   col3   col4----------------------------123     abc    1.  12344451234   dsv    2. 123312345                                                                                                                  dsvw   1.2    1234               
3 |4 r: O0 {- c7 _' L# I    解决方案:                                                                3 t& c$ d6 R! l+ J, ^% f# S' X* ?
                                                                使用:- q' F! _* \) L+ k, y  j/ i* S
WITH example AS (   SELECT t.*,         ROW_NUMBER() OVER (PARTITION BY t.col                                                                                     ORDER BY t.col4 DESC) AS rnk     FROM YOUR_TABLE t)SELECT e.*  FROM example e WHERE e.rnk = 1..或者:" q0 X& u; T9 T1 ^7 Q& i" b, ?
SELECT e.*  FROM (SELECT t.*,              ROW_NUMBER() OVER (PARTITION BY t.col                                                                                                                ORDER BY t.col4 DESC) AS rnk          FROM YOUR_TABLE t) e WHERE e.rnk = 1CTE派生表方法没有任何优化。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则