回答

收藏

SELECT列中第二高的行

技术问答 技术问答 383 人阅读 | 0 人回复 | 2023-09-14

假设我有一个类似于以下表格:
+ \: l% H* s6 s( J) j" n( AItem         Description            Time
! u7 ~* ]: l6 y9 L6 X) i-----        -----------            -----
: d" z' I7 L! w* u, I# A" V* u7 XItemA1       descript               08-16-2013 00:00:00
1 T' S2 V+ C; s% W6 U* L1 yItemA2       descript               08-16-2013 00:00:00
9 m3 Q' R3 g* I, eItemA3       descript               08-16-2013 00:00:00
8 _9 {8 E# `3 ]8 o5 V.
  r' m1 ^/ }6 u0 q1 p.  V# E, |( Y6 C- S
ItemAN       descript               08-16-2013 00:00:00/ W- m. K3 d& m' v- i. y/ P0 N9 c
ItemB1       descript               08-13-2013 00:00:00
# I5 o+ N5 O( \3 h+ I* w5 {, e+ LItemB2       descript               08-13-2013 00:00:008 z. s& i9 Y2 H4 @4 Z% Q
ItemB3       descript               08-13-2013 00:00:00
  B8 G% l: v7 _% r+ R.
1 l4 p/ C3 ^* w9 y: ^.
9 ^: x1 G6 \0 e: qItemBN       descript               08-13-2013 00:00:00
: x5 d9 q( P  ^& s) }2 A6 i.; x8 G( A; |& B4 H
.7 U4 A* y# [; ?2 {1 R( _
.
! @7 s$ D3 A& i9 H; P; `ItemX1       descript               01-13-2012 00:00:00  v& ?" J7 {1 {
ItemX2       descript               01-13-2012 00:00:00
8 }& g1 h5 G8 V# C4 a* X- F1 DItemX3       descript               01-13-2012 00:00:006 Z. `9 ^: d( d
.; K$ g! b# `+ O4 C
., r3 @2 @7 w+ }6 f$ q) ?
ItemXN       descript               01-13-2012 00:00:00  c5 A. G' L* Y- O9 f- f
项目组会定期添加。当添加一组项目时,它们都添加有相同的“时间”字段。本质上,“时间”充当该项目组的唯一索引。# n  d7 b& N1 c& n8 K
我想选择时间第二高的项目组。在此示例中,我的查询应拉出“ B”项。我知道我可以做max(time)来选择“ A”项目,但是我不知道我该怎么做倒数第二。
% h" j" V( E; N6 R& t如果这意味着任何内容,我的“时间”列将存储为TIMESTAMP。! d& B7 y  _5 x1 n
               
6 D" j4 g' _: N* Q3 Z& y( w解决方案:
* S9 N  e9 V, |: v# u               
; a$ h8 t1 A/ j1 i4 W7 w6 E$ b8 k1 e2 L/ T6 t

1 J4 N, K! F& R: H1 M                您可以尝试类似:* |5 A. a, p1 M) Y8 i
SELECT MAX(Time). |  Y( \* U  d8 Z" ]7 M7 l
FROM yourTable7 ?0 Z, ]" A* h! G6 }( D
WHERE Time SQLFiddle Demo
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则