想要表中的唯一列值

时间:2016-12-09 07:08:42

标签: sql database

我想要两列唯一名称,日期不同。 实施例

 table_1
_________________
ID  Name    Date
1   a   12-02-2016  
2   b   12-02-2016  
3   c   13-02-2016
4   a   14-02-2016
5   c   14-02-2016  
6   a   15-02-2016  
7   b   16-02-2016  
8   e   17-02-2016  

我想要以下输出

ID  Name    Date
1   a   12-02-2016
3   c   13-02-2016
7   b   16-02-2016
8   e   17-02-2016

请帮助我,我想要查询
 我尝试了以下查询但没有工作

  1. SELECT DISTINCT a,name,date FROM table_1
  2. select id,name, date from table_1 group by id,name

3 个答案:

答案 0 :(得分:2)

您似乎希望保留最早出现的每个不同名称。一个选项使用子查询:

SELECT ID, Name, Date
FROM yourTable t1
WHERE Date = (SELECT MIN(Date) FROM yourTable t2 WHERE t2.Name = t1.Name)

请注意,如果两个记录具有最小日期,则此解决方案将为每个名称组返回多个记录。但样本数据似乎并不意味着会发生这种情况。

答案 1 :(得分:2)

这是你想要的吗?

select min(id),name, min(date) from table_1  group by name

答案 2 :(得分:1)

看起来您正在寻找每个姓名的最早日期。这个查询将实现这一点。它将按名称对其进行分组,并给出该名称的最短日期。

var formatedResponse = response.map((r) => { return {url: r.path.split(':')[1]};})