簡體   English   中英

MySQL查詢組按何列區分

[英]mysql query group by where column distinct

嘿,我有以下查詢:

SELECT count(e.id), count(c.id), e.Nid
  FROM tbl1 e
  LEFT JOIN tbl2 c
  ON e.Uid = c.Uid
  where e.at > '".$from."'
  AND e.at < '".$to."'
  GROUP BY e.Nid

因此,我有兩個表,一個表用於用戶何時進入我的網站,另一個表用於他何時創建帳戶(它是我自己的站點訪問量監控器)。 Nid是基於瀏覽器的用戶代理。

因此,這告訴我有多少個ppl出現,以及按瀏覽器類型創建了多少個帳戶。 現在我的問題是我想添加一個子句,例如WHERE e.IP是唯一的。

請有人可以為此指出正確的方向,我是mysql的新手。

它應該看起來像這樣

SELECT COUNT(DISTINCT e.IP), count(e.id), count(c.id), e.Nid
FROM tbl1 e
LEFT JOIN tbl2 c
ON e.Uid = c.Uid
where e.at > '".$from."'
AND e.at < '".$to."'
GROUP BY e.Nid
SELECT DISTINCT(e.IP), count(e.id), count(c.id), e.Nid
FROM tbl1 e
LEFT JOIN tbl2 c
ON e.Uid = c.Uid
where e.at > '".$from."'
AND e.at < '".$to."'
GROUP BY e.Nid 

您需要使用唯一關鍵字。 如它所說,它只為該字段選擇不同或唯一的記錄。

換句話說,您想在tbl1計算唯一的IP地址。 在那種情況下,您將無法在Uid tbl2 tbl1tbl2 ,因為我假設您可以為tbl1每個IP地址使用多個Uid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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