回答

收藏

SQL仅选择按列过滤的列中具有最大值的行

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

后续问题的答案很好:- i- g, W) `5 a9 q% l6 W
SQL只选择列中最大值的行
6 \& S8 j" o$ j0 W  pSQLFiddle http://sqlfiddle.com/#!2/3077f/2  
4 y9 y, @) h- [& U, f表你的表: ' @4 {5 v8 V) m- B
| id | val | ignore | content |-------------------------------| 1  | 10  |  0     |   A     || 1  | 20  |  0     |   B     || 1  | 30  |   1    |   C     || 2  | 40  |  0     |   D     || 2  | 50  |  0     |   E     || 2  | 60  |   1    |   F     |当查找每个id的最大val使用以下内容sql:
# {# Y  K2 Y/ h! j- `9 Y- m( aselect yt1.*from yourtable yt1left outer join yourtable yt2on (yt1.id = yt2.id and yt1.val 结果将是这样
4 q) m. k* Q) \$ l| id | val | ignore | content |-------------------------------| 1  | 30  |   1    |   C     || 2  | 60  |   1    |   F     |问题是    当它为= 1时如何按列 ignore过滤掉,结果会是9 u; M7 I/ I% E$ p
| id | val | ignore | content |-------------------------------| 1  | 20  |  0     |   B     || 2  | 50  |  0     |   E     |               
2 m) d7 s$ t5 k5 w, E8 U' I    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则