add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE sold_logs (`id` INTEGER, `salesperson_id` INTEGER, `salesperson_two_id` INTEGER, `sold_date` DATE);

INSERT INTO sold_logs (`id`, `salesperson_id`, `salesperson_two_id`, `sold_date`) VALUES
('1', '5', null, '2022-07-02'),
('2', '3', '5', '2022-07-18'),
('3', '4', null, '2022-07-16'),
('4', '5', '3', '2022-07-12'),
('5', '3', '5', '2022-07-17'),
('6', '5', null, '2022-07-18');
SELECT salesperson_id,
SUM(CASE WHEN salesperson_two_id IS NULL THEN 1 ELSE 0.5 END) totalDeals
FROM (
SELECT salesperson_id, salesperson_two_id, sold_date FROM sold_logs
UNION ALL
SELECT salesperson_two_id, salesperson_id, sold_date FROM sold_logs WHERE salesperson_two_id IS NOT NULL
) t
WHERE MONTH(sold_date) = 7 AND YEAR(sold_date) = 2022
GROUP BY salesperson_id
ORDER BY totalDeals DESC;
salesperson_id totalDeals
5 3.5
3 1.5
4 1.0