Mysql - 仅返回具有相同唯一 ID 的第一行

Posted

技术标签:

【中文标题】Mysql - 仅返回具有相同唯一 ID 的第一行【英文标题】:Mysql - Return only first row having the same unique ids 【发布时间】:2020-11-06 09:44:48 【问题描述】:

考虑下表:

如图所示,我只想从第一个不同的 id 返回所有数据。如何在 mysql 中实现这一点?

【问题讨论】:

您的表格中似乎没有任何东西被称为“id”,所以这个问题很不清楚。图像也不清楚。将问题中的数据作为文本表 您实际上尝试过什么但失败了? 【参考方案1】:

您可以使用子查询进行过滤。假设 first 你的意思是前面有start_time 的那一行,那就是:

select t.*
from mytable t
where t.start_time = (
    select min(t1.start_time) from mytable t1 where t1.call_unique_id = t.call_unique_id
)

【讨论】:

【参考方案2】:
from your_table t1
join
(
  select min(call_unique_id) as id
  from your_table
  group by start_time
) t2 on t1.id = t2.id

group by 也应该完成这项工作。所以试试

select * from your_table group by call_unique_id 

【讨论】:

以上是关于Mysql - 仅返回具有相同唯一 ID 的第一行的主要内容,如果未能解决你的问题,请参考以下文章

mysql连接具有相同列值的两行并计算某些列值并返回一行中的所有行

MySQL返回连接表的第一行

如何从具有相同 id 的多行中选择仅一行的值并用 - 分隔它们? [复制]

熊猫重新索引仅对具有唯一值的索引对象有效

如何跳过有效载荷的第一行-常规

创建包含具有条件的唯一行的新表; MySQL