- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要按分组工作时间选择通话、接听、交易、费率、通话时间。
这是我的选择:
SELECT
users.username as username,
DATE_FORMAT(users_worktime.start,'%Y-%m-%d') as start,
SUM(users_worktime.length) as working_time
FROM
users_worktime
LEFT JOIN users ON users.id = users_worktime.user_id
WHERE 1
AND users_worktime.user_id = '8'
AND users_worktime.start >= '2015-12-30 00:00:00'
AND users_worktime.start <= '2015-12-31 23:59:59'
GROUP BY
DAY(users_worktime.start)
一切都很好,我在 2015 年 12 月 30 日和 2015 年 12 月 31 日有 2 行:
| username | start | working_time |
-----------------------------------------
| Haroldas | 2015-12-30 | 85.00 |
| Haroldas | 2015-12-31 | 170.00 |
我的问题是:如何从表调用中选择 COUNT 个调用,答案 - 对状态 =“已结束”的所有调用进行求和,从表订单中选择 COUNT 个交易,费率 - 交易/SUM 调用,以及通话时间 - 通话长度。所有这些都是按分组工作时间来选择的。
我需要这样的结果:
| username | start | calls | answers | deals | rate | talking_time| working_time |
----------------------------------------------------------------------------------------
| Haroldas | 2015-12-30 | 1 | 1 | 1 | 100% | 35 | 85.00 |
| Haroldas | 2015-12-31 | 3 | 2 | 1 | 50% | 160 | 170.00 |
这是我的数据表:
用户工作时间:
| id | user_id | length | start |
-----------------------------------------------
| 1 | 8 | 30 | 2015-12-30 07:53:38 |
| 2 | 8 | 55 | 2015-12-30 12:53:38 |
| 3 | 8 | 170 | 2015-12-31 22:53:38 |
用户:
| id | username |
-----------------
| 8 | Haroldas |
通话:
| id | user_id | order_id | status | call_length | created_at |
-------------------------------------------------------------------------
| 1 | 8 | 3 | ended | 35 | 2015-12-30 07:53:38 |
| 2 | 8 | 4 | ended | 100 | 2015-12-31 12:53:38 |
| 3 | 8 | NULL | started | 15 | 2015-12-31 14:53:38 |
| 4 | 8 | NULL | ended | 45 | 2015-12-31 20:53:38 |
订单:
| id | user_id | call_id | start |
-----------------------------------------------
| 3 | 8 |1 | 2015-12-30 07:53:38 |
| 4 | 8 |2 | 2015-12-31 12:53:38 |
用户 Haroldas 这些天工作时有多少个电话/接听/交易/等等。
谢谢
最佳答案
您可以使用子查询来实现您的目标。我还更改了您的基本查询,因为如果用户在指定时间段内没有工作,您将看不到记录。
SELECT T2.*,
(deals / answers_cnt) * 100 AS rate
FROM
(SELECT T.username,
T.day_start
SUM(T.working_time) AS working_time,
(SELECT COUNT(*) FROM calls AS C
WHERE DATE(created_at) = T.day_start
AND C.user_id = T.user_id) AS calls_cnt,
(SELECT COUNT(*) FROM calls AS C
WHERE DATE(created_at) = T.day_start
AND C.user_id = T.user_id
AND C.status = 'ended') AS answers_cnt,
(SELECT SUM(call_length) FROM calls AS C
WHERE DATE(created_at) = T.day_start
AND C.user_id = T.user_id) AS talking_time,
(SELECT COUNT(*) FROM orders AS O
WHERE DATE(O.start) = T.day_start
AND O.user_id = T.user_id) AS deals_cnt
FROM
(SELECT U.username,
U.id AS user_id,
DATE(UW.start) as day_start,
UW.length AS working_time
FROM users AS U
LEFT JOIN users_worktime AS UW ON UW.user_id = U.id
WHERE U.id = 8
AND UW.start >= '2015-12-30 00:00:00'
AND UW.start <= '2015-12-31 23:59:59') AS T
GROUP BY T.username, T.user_id, T.day_start
) AS T2
关于php - 如何按工作时间选择来电、接听、优惠、费率等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34544553/
我正在尝试用 JavaScript 编写一个匿名函数,它将使用公式速率 * 时间来计算并返回行驶的距离。函数定义需要分配给变量。那么需要使用该变量调用该函数。 但是我在使用代码时遇到了问题,任何指出我
我正在使用 Intel XDK 制作一个转换工具,我的脚本检测设备是否有互联网连接,如果是,使用它通过 JSON 从 openexchangerates 获取最新汇率并将其存储在本地存储中: $.ge
我基本上是在尝试复制购物车页面上的功能,用户可以在其中添加他们的 zip code 并计算可用的运费,但我试图从后端进行来自已创建的订单。 我找不到直接从 WC_Order 实例执行此操作的方法,所以
我想计算一下 数量 * 比率 = 金额 金额 - 折扣 + 税费 = 账单金额 账单金额+四舍五入= Netty 我知道这很容易完成,但问题是任何人都可以通过检查元素更改该值。为了阻止这种情况,我必须
我有关于向用户推送消息的问题。 这是用例。 一个用户正在一个支持 wifi 的仓库中行走,我们想使用眼镜发送有关该建筑物中需要用户与组件交互的组件的关键信息和警告。 我们在 android 设备中使用
当我编译它时,我收到错误,操作符号有问题,行代码错误: Pay = (40 * Rate) + (( Hours - 40) * (1.5 * Rate)); 下面是我使用的完整代码。 import
免费申请小米收款宝商家收款码 无需营业执照 0.32%费率 T+1到账 经常撸活动或者有其他收款需求的可以来开通一个小米收款宝,不需要营业执照 原本是只能在小米钱包APP内才能申请的,小编把申请
我已将 Shopify active_shipping gem 集成到我的网站中,并且我正在尝试从我的 UPS 帐户获取协议(protocol)费率(我可以获得正常费率)。我找不到任何关于协议(pro
我是一名优秀的程序员,十分优秀!