【问题标题】:Simple Nested SQL statement简单的嵌套 SQL 语句
【发布时间】:2013-09-10 15:34:31
【问题描述】:

我刚开始学习 SQL,我有一个看起来很简单的问题。给定以下数据:

第 1 步 - 项目 1
第 2 步 - 项目 1
第 3 步 - 项目 1
第 1 步 - 项目 2
第 2 步 - 项目 2
第 1 步 - 项目 3
第 1 步 - 项目 4
第 2 步 - 项目 4
第 3 步 - 项目 4
第 4 步 - 项目 4

我正在尝试找到每个项目的最后一步。我想我应该使用嵌套 SQL 语句,但我不确定正确的方法。

【问题讨论】:

  • 表格中的数据是什么样的?列\数据类型。
  • 值是否存储为“步骤 1”和“项目 1”?还是那些列名和值是整数?
  • 你可以使用Group by子句来达到效果。
  • 欢迎来到结构化查询语言的世界!为了将来参考,对于此类性质的问题,提供您的数据在表中的实际外观通常会有所帮助。否则有点难以理解这些关系。

标签: sql nested-statement


【解决方案1】:

您的查询将如下所示:

SELECT project, max(step) as step
FROM Table_Name
GROUP BY project

GROUP BY 将所有项目组合在一起,max() 返回最大值。但是,如果您的值是字符串,您可能必须删除文本并将它们转换为整数才能正确排序和检索正确的 max() 值。

【讨论】:

    【解决方案2】:

    假设您的表格有 2 列(步骤、项目),那么您可以使用

    SELECT Project, MAX(Step) FROM Table GROUP BY Project
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 2014-07-12
      • 2020-04-08
      相关资源
      最近更新 更多