我有一个包含以下架构的表:
+------------------+
|Field | Type |
+------------------+
| id | char(30) |
| time | datetime |
+------------------+
id
列不是主键,因此该表包含以下条目:
10, 2010-05-05 20:01:01
10, 2010-05-05 20:01:05
13, 2010-05-05 20:04:01
10, 2010-05-05 20:04:10
13, 2010-05-05 20:05:03
10, 2010-05-05 20:05:28
我想找到给定id的时间差异,即期望的结果是:
10, 00:04:27
13, 00:01:02
我可以在MySQL中使用以下查询来执行此操作:
SELECT t2.id, TIMEDIFF(t2.max, t2.min) AS visit_length FROM
(
SELECT id, MAX(time) AS max, MIN(time) AS min FROM page_view
GROUP BY id
) AS t2
但是,我使用的引擎是MySQL衍生产品,它不支持子查询。
有没有办法在不使用子查询的情况下使用单个查询获得相同的结果?
由于
答案 0 :(得分:0)
select max(time)-min(time), id
from page_view
group by id
答案 1 :(得分:0)
这会有用吗?
SELECT TIMEDIFF(MAX(time), MIN(TIME)) AS visit_length
FROM page_view
GROUP BY(id)