数据库查询是java开发人员必备的技能,当然也是java面试题中必考的,面试时见到这个一个数据库查询,心中依然存有
疑问,写出来供大家讨论。
数据表DataTable
DataId | DataName | DataValue |
1 | one | 2 |
2 | one | 5 |
3 | two | 3 |
4 | three | 10 |
5 | two | 6 |
要求:查询结果为
DataId | DataName | DataValue |
2 | one | 5 |
5 | two | 6 |
4 | three | 10 |
我当时写的Sql语句为:
SELECT DataId,DataName,Max(DataValue)
FROM DataTable
WHERE
DataName in
(SELECT DISTINCT DataName
FROM DataTable)
这个暂时还没测试过,就是心中有疑问,这个查询的方式效率会有多高,写出来希望大家能够多多指点