select
(
SELECT
COUNT(record_id)
FROM
tb_clock_record
WHERE
employee_id = #{employeeId}
AND DATE_FORMAT(clock_date, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')
and status = 0) AS clockCountCurrentMonth,
(
SELECT
IFNULL(SUM(p.amount), 0)
FROM
tb_clock_record r
left join tb_clock_product_record p on r.record_id = p.record_id
WHERE
r.employee_id = #{employeeId}
AND DATE_FORMAT(r.clock_date, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')
and r.status = 0
)AS saleCountCurrentMonth,
(
select s.shop_name from tb_employee e
left join tb_shop s on e.shop_id = s.shop_id
where e.employee_id = #{employeeId}
) AS shopName
SELECT
t.*,
(@rank := @rank + 1) AS `rank`
FROM (
SELECT
r.employee_id AS employeeId,
e.employee_name AS employeeName,
a.agent_name AS agentName,
e.avatar AS avatar,
s.shop_name AS shopName,
IFNULL(SUM(p.amount), 0) AS saleCount
FROM
tb_clock_record r
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
LEFT JOIN tb_activity act ON r.activity_id = act.activity_id
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
LEFT JOIN tb_agent a ON e.agent_id = a.agent_id
LEFT JOIN tb_shop s ON e.shop_id = s.shop_id
WHERE
r.status = 0
AND act.type = 1
AND r.activity_id = #{bo.activityId}
AND e.agent_id = #{bo.agentId}
AND e.shop_id = #{bo.shopId}
GROUP BY
r.employee_id, e.employee_name, a.agent_name, e.avatar, s.shop_name
ORDER BY
saleCount DESC
) t,
(SELECT @rank := 0) b
SELECT
(SELECT COUNT(DISTINCT t.employee_id)
FROM (
SELECT
r2.employee_id,
IFNULL(SUM(p2.amount), 0) AS total_sale
from tb_clock_record r2
LEFT JOIN tb_activity act2 ON r2.activity_id = act2.activity_id
LEFT JOIN tb_clock_product_record p2 ON r2.record_id = p2.record_id
LEFT JOIN tb_employee e ON r2.employee_id = e.employee_id
WHERE r2.status = 0
AND r2.activity_id = #{bo.activityId}
AND e.agent_id = #{bo.agentId}
AND act2.status = 0
AND act2.del_flag = '0'
GROUP BY r2.employee_id
) t
WHERE t.total_sale > (
SELECT IFNULL(SUM(p.amount), 0)
FROM tb_clock_record r
LEFT JOIN tb_activity act ON r.activity_id = act.activity_id
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
WHERE
r.status = 0
AND r.activity_id = #{bo.activityId}
AND e.agent_id = #{bo.agentId}
AND r.employee_id = #{bo.employeeId}
AND act.status = 0
AND act.del_flag = '0'
GROUP BY r.employee_id
)) + 1 AS `rank`,
IFNULL(SUM(p.amount), 0) AS saleCount
FROM
tb_clock_record r
LEFT JOIN tb_activity act ON r.activity_id = act.activity_id
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
WHERE
r.status = 0
AND r.employee_id = #{bo.employeeId}
AND r.activity_id = #{bo.activityId}
AND e.agent_id = #{bo.agentId}
AND act.status = 0
AND act.del_flag = '0'
GROUP BY
r.employee_id
SELECT
(
SELECT
COUNT(record_id)
FROM
tb_clock_record
WHERE
employee_id =#{bo.employeeId}
AND status = 0
AND activity_id =#{bo.activityId}
) as clockCount,
(
SELECT
IFNULL(SUM(p.amount), 0)
FROM
tb_clock_record r
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
WHERE
r.employee_id =#{bo.employeeId}
AND r.status = 0
AND r.activity_id =#{bo.activityId}
) AS saleCount
r.activity_id = #{bo.activityId}
AND e.employee_name LIKE CONCAT('%', #{bo.employeeName}, '%')
AND e.agent_id = #{bo.agentId}
AND e.shop_id = #{bo.shopId}
AND r.status = #{bo.status}
SELECT
r.record_id AS recordId,
r.employee_id AS employeeId,
e.employee_name AS employeeName,
ag.agent_name AS agentName,
s.shop_name AS shopName,
r.clock_date AS clockDate,
IFNULL(SUM(p.amount), 0) AS saleCount,
r.screenshot AS screenshot,
r.status AS status
FROM tb_clock_record r
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
LEFT JOIN tb_agent ag ON e.agent_id = ag.agent_id
LEFT JOIN tb_shop s ON e.shop_id = s.shop_id
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
WHERE
GROUP BY r.record_id
ORDER BY r.clock_date DESC
SELECT
COUNT(DISTINCT r.employee_id) AS clockEmployeeCount,
IFNULL(SUM(p.amount), 0) AS totalSaleCount
FROM tb_clock_record r
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
WHERE
SELECT
act.activity_name AS activityName,
ag.agent_name AS agentName,
ap.product_name AS productName,
s.shop_name AS shopName,
IFNULL(SUM(p.amount), 0) AS saleCount
FROM tb_clock_record r
INNER JOIN tb_activity act ON r.activity_id = act.activity_id AND act.type = 1
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
LEFT JOIN tb_agent ag ON e.agent_id = ag.agent_id
LEFT JOIN tb_shop s ON e.shop_id = s.shop_id
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
LEFT JOIN tb_activity_product ap ON r.activity_id = ap.activity_id
LEFT JOIN tb_activity_agent aa ON r.activity_id = aa.activity_id
WHERE r.activity_id = #{bo.activityId}
AND r.status = 0
AND e.agent_id = #{bo.agentId}
AND s.shop_id = #{bo.shopId}
AND ag.agent_name LIKE CONCAT('%', #{bo.agentName}, '%')
AND s.shop_name LIKE CONCAT('%', #{bo.shopName}, '%')
GROUP BY act.activity_id, ag.agent_id, ap.id, s.shop_id
ORDER BY saleCount DESC
SELECT
(SELECT COUNT(*) FROM tb_activity WHERE del_flag = '0') AS totalActivityCount,
(SELECT COUNT(*) FROM tb_activity WHERE del_flag = '0' AND status = 0 AND CURDATE() BETWEEN start_date AND end_date) AS ongoingActivityCount,
(SELECT COUNT(DISTINCT employee_id) FROM tb_clock_record WHERE status = 0 AND DATE(clock_date) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)) AS yesterdayClockCount,
(SELECT COUNT(DISTINCT employee_id) FROM tb_clock_record WHERE status = 0 AND DATE(clock_date) = CURDATE()) AS todayClockCount
SELECT
ag.agent_name AS agentName,
COUNT(DISTINCT r.employee_id) AS participantCount
FROM tb_clock_record r
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
LEFT JOIN tb_agent ag ON e.agent_id = ag.agent_id
WHERE r.status = 0
AND DATE(r.clock_date) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
GROUP BY ag.agent_id, ag.agent_name
ORDER BY participantCount DESC
LIMIT 10
SELECT
s.shop_name AS shopName,
COUNT(DISTINCT r.employee_id) AS participantCount
FROM tb_clock_record r
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
LEFT JOIN tb_shop s ON e.shop_id = s.shop_id
WHERE r.status = 0
AND DATE(r.clock_date) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
GROUP BY s.shop_id, s.shop_name
ORDER BY participantCount DESC
LIMIT 10
SELECT
(SELECT COUNT(DISTINCT employee_id) FROM tb_clock_record WHERE status = 0) AS totalParticipantCount,
(SELECT COUNT(*) FROM tb_shop WHERE del_flag = '0') AS shopCount,
(SELECT COUNT(*) FROM tb_agent WHERE del_flag = '0') AS agentCount,
(SELECT COUNT(*) FROM tb_clock_record WHERE status = 0) AS clockCount,
(SELECT IFNULL(SUM(amount), 0) FROM tb_clock_product_record p
INNER JOIN tb_clock_record r ON p.record_id = r.record_id WHERE r.status = 0) AS productSales,
(SELECT COUNT(*) FROM tb_activity WHERE del_flag = '0' AND status = 0) AS activityCount
SELECT
s.shop_name AS shopName,
COUNT(r.record_id) AS clockCount
FROM tb_clock_record r
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
LEFT JOIN tb_shop s ON e.shop_id = s.shop_id
WHERE r.status = 0
AND r.activity_id = #{bo.activityId}
GROUP BY s.shop_id, s.shop_name
ORDER BY clockCount DESC
LIMIT 10
SELECT
DATE_FORMAT(r.clock_date, '%m-%d') AS date,
COUNT(DISTINCT r.employee_id) AS participantCount,
IFNULL(SUM(p.amount), 0) AS salesCount
FROM tb_clock_record r
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
WHERE r.status = 0
AND r.clock_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
AND r.activity_id = #{bo.activityId}
GROUP BY DATE(r.clock_date)
ORDER BY DATE(r.clock_date)
SELECT
CONCAT(DATE_FORMAT(r.clock_date, '%c'), '月') AS month,
COUNT(DISTINCT r.employee_id) AS participantCount,
IFNULL(SUM(p.amount), 0) AS salesCount
FROM tb_clock_record r
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
WHERE r.status = 0
AND r.clock_date >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
AND r.activity_id = #{bo.activityId}
GROUP BY DATE_FORMAT(r.clock_date, '%Y-%m')
ORDER BY DATE_FORMAT(r.clock_date, '%Y-%m')
SELECT
s.shop_name AS shopName,
COUNT(DISTINCT r.record_id) AS clockCount,
IFNULL(SUM(p.amount), 0) AS salesCount
FROM tb_clock_record r
LEFT JOIN tb_employee e ON r.employee_id = e.employee_id
LEFT JOIN tb_shop s ON e.shop_id = s.shop_id
LEFT JOIN tb_clock_product_record p ON r.record_id = p.record_id
WHERE r.status = 0
GROUP BY s.shop_id, s.shop_name
ORDER BY salesCount DESC
LIMIT 6