有了這個簡化的結構:MYSQL:同一個表上的兩個連接成爲雙重分組計數。如何解決它?
customers
-----------------------
id
name
salesagents_id (each client has their own sales agent assigned)
salesagents
-----------------------
id
name
visits
-----------------------
customers_id
salesagents_id
date
我需要讓所有的客戶名單,再加上三個附加字段:
- 銷售代理的名稱分配給客戶端
- 收到瀏覽次數by salesperson
- 上個月收到的訪問次數
這是查詢我到目前爲止:
SELECT clients.*, salesagents.name, COUNT(v1.id) as visits_number, COUNT(v2.id) as visits_number_last_month
FROM `clients`
LEFT JOIN `salesagents` ON `clients`.`salesagents_id`=`salesagents`.`id`
LEFT JOIN `visits` as `v1` ON `clients`.`id` = `v1`.`clients_id`
LEFT JOIN `visits` as `v2` ON `clients`.`id` = `v2`.`clients_id` AND `v2`.`date` > FROM_UNIXTIME(UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 MONTH)))
GROUP BY `clients`.`id`
的問題是,這兩個連接在同一個表拼成訪問雙號。
我還能做什麼?
太棒了!這麼簡單,這解決了我的問題!非常感謝! – user3514092