【问题标题】:SQL query to get all values of first distinct (given) column valuesSQL查询以获取第一个不同(给定)列值的所有值
【发布时间】:2019-02-18 08:11:32
【问题描述】:

我的表中有以下示例数据:

ID  GRADE
1   54 
1   53  
1   52
2   78  
2   75 
2   74 
3   43 
3   42
3   41

这是从查询中得到的:“SELECT ID,GRADE FROM TABLE ORDER BY GRADE DESC;” ID 不是主键。

我想获取这样的数据:

ID  GRADE
1   54
2   78
3   43

也就是说,我想获取所有记录的值,这些记录在 ID 方面是第一个不同的记录。

有什么建议吗?

【问题讨论】:

  • 什么定义了 RDBM 集中的“第一”?
  • 什么意思?
  • 除非您有主键或日期字段可供排序,否则无法保证行的顺序...
  • 您需要在数据中添加第三列,或者告诉我们您是如何订购这些数据的。没有这些信息,“第一”一词就很模糊。
  • 已编辑,Grade字段按降序排列

标签: sql database db2


【解决方案1】:

我认为你需要这个简单的group by

select ID, max(GRADE) 
from TABLE 
group by ID
order by ID

【讨论】:

  • 正是我想要的。我知道这很简单。谢谢!
猜你喜欢
  • 2021-06-07
  • 2022-10-08
  • 2018-10-20
  • 2023-01-11
  • 1970-01-01
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多