【问题标题】: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 MIN 或 MAX 一起使用,因为您不关心它的值:
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