我想从特定的列中获取最大整数,如果存在,则不包括始终为最大值的值。数据可能如下所示:
score, empid
1 3
3 3
10 3
1 5
2 5
1 8
2 8
3 8
10 8在上面的例子中,我希望MAX score小于10。MAX(score)在这种情况下不起作用,因为它会返回10。结果应该是这样的:
score, empid
3 3
2 5
3 8有什么建议吗?
发布于 2012-04-12 02:34:06
以下是另一种方法:
SELECT
MAX(CASE WHEN score = 10 THEN NULL ELSE score END) AS [max_score],
empid
FROM
table
GROUP BY
empid如果您希望避免子选择,这可能更可取。
https://stackoverflow.com/questions/10111669
复制相似问题