簡體   English   中英

MySQL中的自聯接計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM