我的问题是这个链接的类似情况 Grouping records in order (SQL)
但是它在sqlite中并且无法在mysql中运行它
我的记录
街道|时间我预期的结果
街道|计数| min_time | max_time查询的任何帮助?
避免误解,我需要在MYSQL数据库中运行此查询。 谢谢你的回答。
答案 0 :(得分:1)
SELECT street, COUNT(*), MIN(time), MAX(time)
FROM table
GROUP BY street
答案 1 :(得分:0)
您似乎在寻找street
中具有相同值的连续行(基于时间)。这是SQLite的一个难点,因为它既不支持窗口函数也不支持变量。但是,你可以用一招来做到这一点。计算“街道”在给定行之前出现的次数,其中与当前行中的不同值。这为每个连续的街道组提供了一个常量。
select street, count(*) as count, min(time) as min_time, max(time) as max_time
from (select m.*,
(select count(*)
from myrecords m2
where m2.time < m.time and m2.street <> m.street
) as grp
from myrecords m
) m
group by street, grp;