MySQL中的ROW_NUMBER()

MySQL中的ROW_NUMBER(),第1张

MySQL中的ROW_NUMBER()

我想要每对(col1,col2)对具有最高col3的行。

这是一个按组的最大值,是最常提出的SQL问题之一(因为它看起来应该很容易,但实际上并非如此)。

我经常为null-self-join充实:

SELECt t0.col3FROM table AS t0LEFT JOIN table AS t1 ON t0.col1=t1.col1 AND t0.col2=t1.col2 AND t1.col3>t0.col3WHERe t1.col1 IS NULL;

“获取表中没有匹配col1,col2的其他行具有更高col3的行。”
(您会注意到这一点,并且如果多行具有相同的col1,col2,col3,则大多数其他按组最大的解决方案将返回多行。如果这是一个问题,则可能需要一些后处理。)



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4896703.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存