[英]Self join count in MySQL
我正在嘗試做類似的事情
SELECT `v1`.`date`, COUNT(DISTINCT(`v2`.`id`)) AS `visits`
FROM `visitor_visits` AS `v1` JOIN `visitor_visits` AS `v2`
ON (`v1`.`date` = `v2`.`date`) GROUP BY `v1`.`date`, `v2`.`date`
ORDER BY `v1`.`date
獲取不同的日期,以及匹配的所有其他日期的計數。
我很確定這是錯誤的查詢,因為日期列是非唯一的。
有什么不對:
SELECT v1.date, COUNT(v1.id) AS visits
FROM visitor_visits AS v1
GROUP BY v1.date
ORDER BY v1.date
?
PS。 我假設id
是主鍵(唯一)。
如果您查看每個日期的不同訪客ID,則應該是
SELECT v1.date,
COUNT(DISTINCT(v1.id)) as Visitors
FROM
visitor_visits AS v1
group by
v1.Date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.