你能告诉我写一下Sql查询命令吗?

时间:2017-06-28 05:10:44

标签: sql oracle greatest-n-per-group

我的表看起来像这样。

Id   |  Name  |  Ref  |From 
10   |  Ant   |  100  | A
10   |  Ant   |  300  | A
2    |  Cat   |  90   | A
2    |  Cat   |  500  | A
3    |  Bird  |  150  | A

这是我想要的结果。

Id   |  Name  |  Ref  | From 
3    |  Bird  |  150  | A
2    |  Cat   |  500  | A
10   |  Ant   |  300  | A

我的目标是最高的参考。 能否告诉我如何使用pl / sql编写SQL查询。

3 个答案:

答案 0 :(得分:0)

您可以使用聚合:

select id, name, max(ref) as ref, "From"
from your_table
group by id, name, "From";

另外,请注意来自的双引号,因为它是保留关键字。我建议使用其他一些列名。

答案 1 :(得分:0)

只需使用group bymax(),就像这样

select m.Id,m.Name,max(m.ref), m.From 
from myTable m 
group by m.Id,m.Name,m.From
order by m.Id

答案 2 :(得分:0)

SELECT id,name,max(ref)FROM tablename GROUP BY name 但是,请更改您的列名称' From'因为它是mysql中的保留关键字。