【问题标题】:How to choose a row for specific column如何为特定列选择行
【发布时间】:2018-09-13 01:43:20
【问题描述】:

我有一张这样的桌子:

ID   Course1   Course2
S1    A1        A2
S1    A1        B1
S2    D1        B1
S2    C1        B1

我需要为每个 ID 选择第一行。我的意思是这样的表:

ID  Course1    Course2
S1    A1        A2
S2    D1        B1 

如果有人提供帮助,我们将不胜感激。 谢谢

【问题讨论】:

  • 数据库表中没有“第一行”这样的东西。 SQL 表代表 无序 集。您需要一个指定顺序的列。
  • 如果您可以提供额外的上下文,这将有所帮助。您是否正在尝试编写程序?如果有,是什么语言?你在用工具吗?
  • 是的,我正在用 python 编写程序
  • 如何确定哪一行是“顶行”?您需要添加一个order by 子句来指定哪一行是顶行。这通常是某种唯一的 ID 或日期......虽然我在你的结构中看不到任何类似的东西。

标签: mysql sql database select distinct


【解决方案1】:

对于您的示例,我想为每个 ID 选择第一行的最简单方法 (imo) 是执行 group by 并且您应该得到您想要的。

SELECT * FROM YourTable GROUP BY ID;

Picture of the result

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2012-10-06
    • 2022-12-03
    • 2019-04-05
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    相关资源
    最近更新 更多