首页 > 解决方案 > 为一堆记录选择最小数据

问题描述

我有这张桌子:

在此处输入图像描述

我想为每串彩色记录找到最小的 date_time 值,即表格的结果将是这张表格。

在此处输入图像描述

需要哪个 SQL 命令?

标签: sqlsql-serverselectminimum

解决方案


This is sort-of a gaps-and-islands problem. But the simplest way to think of it is as a simple lag():

select t.*
from (select t.*,
             lag(t.strand1) over (order by t.date_time) as prev_strand1
      from t
     ) t
where prev_strand1 is null or prev_strand1 <> strand1;

推荐阅读