当前位置: 首页 > 面试题库 >

SQL:如何选择最早的行

苗运珧
2023-03-14
问题内容

我有一个看起来像这样的报告:

CompanyA      Workflow27     June5
CompanyA      Workflow27     June8
CompanyA      Workflow27     June12
CompanyB      Workflow13     Apr4
CompanyB      Workflow13     Apr9
CompanyB      Workflow20     Dec11
CompanyB      Wofkflow20     Dec17

这是通过SQL完成的(特别是T-SQL版本的Server 2005):

SELECT company
   , workflow
   , date
FROM workflowTable

我希望该报告仅显示每个工作流程的最早日期:

CompanyA      Workflow27     June5
CompanyB      Workflow13     Apr4
CompanyB      Workflow20     Dec11

有任何想法吗?我不知道这一点。我尝试使用嵌套的选择返回最早的托盘日期,然后在WHERE子句中进行设置。如果只有一家公司,这将非常有用:

SELECT company
   , workflow
   , date
FROM workflowTable
WHERE date = (SELECT TOP 1 date
              FROM workflowTable
              ORDER BY date)

但是,如果该表中有不止一家公司,那么这显然将行不通。任何帮助表示赞赏!


问题答案:

只需使用 min()

SELECT company, workflow, MIN(date) 
FROM workflowTable 
GROUP BY company, workflow


 类似资料:
  • 问题内容: 我有一个数据库,如下所示; 我想做的是产生一个结果,该结果具有该日期最早()的每个客户的KWH读数,该日期将由用户以Web形式选择。 结果将/应该类似于; 这里显示的行数超过了每天,并且有更多的客户,并且客户数量会定期更改。 我在SQL方面没有太多经验,我研究过子查询等,但是我没有内容来弄清楚如何按最早阅读每个客户的方式来安排它,然后仅输出该列。 它在Redhat / CentOS上的

  • 问题内容: 您好,我有一个带有列的表: *使用oracle 我想知道如何获取给定用户的最新添加的文档。 谢谢 问题答案:

  • 问题内容: 这个问题已经在这里有了答案 : 获取SQL中另一列的每个值的最通用值 (9个答案) 6年前关闭。 我对SQL刚起步(我正在使用MySQL),需要一些帮助。我目前正在尝试从称为PERSON的表中选择最常见的年龄。假设PERSON的AGE列的值为:10、10、20、20、30。查询应返回值10和20。 以下查询仅检索第一行(20): 我的另一个想法是尝试类似的方法: 这将返回一个错误,指出

  • 问题内容: 我在表中有三列:id,街道名称,计数。对于某些ID,不只是一个街道名称。Count告诉将每条街道分配给ID的频率。我怎样才能只获得编号最高的ID和街道名称。 表格示例: 结果应该是这样的: 提前致谢! 问题答案: 您没有指定正在使用的数据库,但是应该可以使用以下数据库: 请参阅带有演示的SQL Fiddle 。注意,您将必须使用MySQL的反引号或数据库使用的任何字符来转义保留字来转义

  • 问题内容: 好的,我有一个关系,该关系存储两个键,一个产品ID和一个属性ID。我想弄清楚哪种产品与给定的产品最相似。(属性实际上是数字,但这会使示例更加混乱,因此已将其更改为字母以简化视觉表示。) Prod_att 最初,这似乎很简单,只需选择产品具有的属性,然后计算每个产品共享的属性数。然后将其结果与一个产品具有的属性数量进行比较,我可以看到两个产品的相似程度。这适用于相对于其比较产品具有大量属