使用sql计算一天中多个记录之间的时间差

tkclm6bt  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(544)

我想请您帮助创建一个查询,以便我执行以下操作:
我有一个网上商店,我有一个数据库,我存储的产品,每个用户都有一个时间戳查看。我想将“产品会话”可视化,我的意思是获得用户观看产品的时间除以一天(以及这一天观看了多少产品)。
举个例子:
我最近查看的用户id为的表

我想创建一个查询来提供这个输出

|   DAY    |    TIME  | PRODUCTS |
----------------------------------
|2018-07-31| 00:00:04 |    2     |
----------------------------------
|2018-08-01| 02:38:56 |    5     |

到目前为止,我只能做到:

SELECT DATE(`added_timestamp`) AS day, COUNT(*) AS num_products
FROM tb_recently_viewed 
WHERE `user_id`= 'bac240e3eefbb7dff0bc03d00f392f0d'
GROUP BY DATE(`added_timestamp`)
ORDER BY day

输出一天内看到的产品:

任何帮助都将不胜感激。

sycxhyv7

sycxhyv71#

干得好:

select
    date(added_timestamp) as day,
    count(*) as num_products,
    timediff(max(time(added_timestamp)), min(time(added_timestamp))) as time_diff
  from tb_recently_viewed
  group by date(added_timestamp)

结果:

day         num_products  time_diff
----------  ------------  ---------
2018-07-31  2             00:00:04                 
2018-08-01  2             02:38:56

相关问题