gpt4 book ai didi

mysql - 如何使用 SQL 从每个组中只获得一个结果

转载 作者:可可西里 更新时间:2023-11-01 08:06:46 26 4
gpt4 key购买 nike

我真的不知道如何查询这个任务。

我需要为表中每条记录的第一行获取一个时间,但每次当我有一组相同的结果时,我需要在第一个结果出现且信号等于 1 时获取第一个结果。

我不知道如何正确解释它,但我会举一个例子,你会明白我的意思。

记录:

ID| Time | Serial | Signal
1| 10:59| 12 | 1
2| 11:00| 12 | 1
3| 11:01| 12 | 1
4| 11:01| 13 | 1
5| 11:02| 12 | 0
6| 11:03| 12 | 0
7| 11:05| 13 | 1
8| 11:07| 12 | 1

所以我需要这个结果:

ID| Time | Serial | Signal
1| 10:59| 12 | 1
4| 11:01| 13 | 1
7| 11:05| 13 | 1
8| 11:07| 12 | 1

最佳答案

您的确切逻辑不清楚,据我所知,您希望获取 signal 为 1 的每一行,其中序列值从一次变为另一次。

这可以通过使用一个变量来跟踪前一行中序列号的值来完成(下面我的查询中的变量@t)。

SELECT  ID, Time, `Serial`, `Signal`
FROM ( SELECT ID,
Time,
`Serial`,
`Signal`,
CASE WHEN `Serial` = @t THEN 0 ELSE 1 END AS IsNew,
@t:= `Serial`
FROM T,
(SELECT @t:=0) t2
ORDER BY Time
) t
WHERE IsNew = 1
AND `Signal` = 1

SQL Fiddle

关于mysql - 如何使用 SQL 从每个组中只获得一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12404300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com