我有两个表
点击- 2.骑
click Table
id | time
ride Table
id |时间戳
我想从两个表中获取数据组by group by EXTRACT(DAY from ride.timestamp)但我只得到数据,如果我有条目在两个表的同一天,但我想要的数据,无论是否表没有数据。我不知道如果外连接是一个答案,但mysql不支持外连接
我的当前查询,只有在两个表中都有条目时才能获得数据
COUNT(distinct ride.id) AS ride_ads,
COUNT(distinct clicks.id) AS clicks
FROM ride INNER JOIN clicks ON EXTRACT(DAY FROM ride.timestamp)=EXTRACT(DAY FROM clicks.time)
GROUP BY EXTRACT(DAY FROM ride.timestamp), EXTRACT(DAY FROM clicks.time)```
SELECT
DATE(ride.timestamp) AS Day,
COUNT(DISTINCT ride.id) AS ride_ads,
COUNT(DISTINCT clicks.id) AS clicks
FROM
ride
LEFT JOIN
clicks ON DATE(ride.timestamp) = DATE(clicks.time)
WHERE
DATE(ride.timestamp) > NOW() - INTERVAL 15 DAY
GROUP BY Day
UNION SELECT
DATE(clicks.time) AS Day, #selecting date from second table since I might have record in this table and I am using group by Day
COUNT(DISTINCT ride.id) AS ride_ads,
COUNT(DISTINCT clicks.id) AS clicks
FROM
ride
RIGHT JOIN
clicks ON DATE(ride.timestamp) = DATE(clicks.time)
WHERE
DATE(clicks.time) > NOW() - INTERVAL 15 DAY
GROUP BY Day
ORDER BY Day