每当我使用max函数时,不知何故我就失去了与其他值的所有连接,因此稍后打印的行将不再与我运行max的列相关联。
所以我的表格是:
user col1 col2 col3
1 1 2 3
1 3 4 5
2 2 3 1
3 1 1 3
3 2 4 6
4 5 1 5所以如果我运行
select user, col1, col2, max(col3) as col3
from table
group by user
order by user;我会得到
user col1 col2 col3
1 1 2 5
2 2 3 1
3 1 1 6
4 5 1 5所以col3的最大值是正确的,但是它没有得到该值的正确行。
我想要的是获取列的最大值,并为每个用户返回该行。如果有多个最大值,它应该返回所有用户,即使它具有相同的用户id。
发布于 2012-07-07 00:17:31
您需要从查询中删除col1和col2,因为它们使行是惟一的。试一试
SELECT user, max(col3) AS col3 FROM table GROUP BY user ORDER BY user;https://stackoverflow.com/questions/11365937
复制相似问题