【问题标题】:how to select a row based on a single distinct value如何根据单个不同值选择行
【发布时间】:2013-08-21 08:11:23
【问题描述】:

如果我有 4 行并且想要根据单个列的不同值选择行,并且不介意它将哪些信息用于该行的其余部分,我该怎么做?在维护其余行数据的同时,单个列似乎没有“独特”功能。

例如

Name, value
john 1
john 2
michael 3
michael 5

结果

john 1
michael 5

请注意,它可能是 john 2 或 michael 3,我不在乎 John 或 Michael 的哪一行用于其余值。

【问题讨论】:

    标签: sql-server sql-server-2008 distinct


    【解决方案1】:

    GROUP BY Name 并将任何聚合函数与 value MINMAX 一起使用,因为您不关心它的值:

    SELECT Name, MIN(value)
    FROM table
    GROUP BY Name
    

    【讨论】:

      【解决方案2】:

      试试这个

      select a.* from TAbleName a
          inner join 
          (
           select distinct name,min(Id) as id  from TAbleName  
            group by name
          ) as b
          on a.name= b.name
          and a.id=b.id
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多