【发布时间】:2010-10-28 17:37:31
【问题描述】:
我对 SQL 查询有疑问。让我们以这个示例数据为例
itemID catID attrib1 attrib2
1 1 10 5
2 1 10 7
3 1 5 10
4 2 18 15
我想为每个类别返回最好的项目(attrib1 优先于 attrib2)
显然,SELECT catID, MAX(attrib1), MAX(attrib2) FROM test_table GROUP BY catID 不起作用,因为它会为第一只猫返回 10 和 10。
那么有没有办法告诉 MySQL 从 attrib2 行中选择最大值,但只考虑 attrib1 也是最大值的那些?即返回以下数据
catID attrib1 attrib2
1 10 7
2 18 15
【问题讨论】: