合并重复行,求和时间并获取平均时间或求和平均时间

发布于 2025-01-17 18:59:05 字数 226 浏览 0 评论 0原文

听起来有点复杂,我正在努力查询。希望你能帮助我。

The current state

我需要的是按名称或日期合并,计数和时间列应该是总和 (02:05 :00) 和 aht 列应该是两个值的平均值。

我没有找到解决方案,因为所有内容都按视图分组,但我需要将数据放在一行中并删除第二行......

it sounds a bit complicated and I am struggling with a query. Hopefully you can help me out.

The current state

What I need is to merge by name or date, the count and time column should be sum (02:05:00) and aht column should be average of both values.

I didnt found a solution, as all comes up with a group by view, but I need to have the data in one row and the second row deleted...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

像极了他 2025-01-24 18:59:05

选择 SUM 和 AVERAGE 并不难,请参见下面的小提琴:

SELECT
   name,
   `date`,
   sum(`count`) as 'count',
   SEC_TO_TIME(sum(TIME_TO_SEC(`time`))) as 'time',
   SEC_TO_TIME(avg(TIME_TO_SEC(aht)))  as aht
FROM table1
GROUP BY
   name,
   `date`;

DBFIDDLE

输出:

姓名日期计数时间aht
姓名2022-03-283602:05:0000:03:11.0000

您可以添加此新行,然后删除按 name 和 < 分组时 count >=2 的所有行代码>日期。

Selecting the SUM and AVERAGE is not hard, see below fiddle:

SELECT
   name,
   `date`,
   sum(`count`) as 'count',
   SEC_TO_TIME(sum(TIME_TO_SEC(`time`))) as 'time',
   SEC_TO_TIME(avg(TIME_TO_SEC(aht)))  as aht
FROM table1
GROUP BY
   name,
   `date`;

DBFIDDLE

output:

namedatecounttimeaht
Name2022-03-283602:05:0000:03:11.0000

You can add this new row, and after this delete all rows that have a count >=2 when grouped by name and date.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文