2010-10-23 32 views
1

我有一個表'客戶'和'位置'列,我需要檢查獨特客戶訪問的前10位。替換mysql-> php-> mysql與嵌套查詢

我準備做到以下幾點:

  1. SELECT的位置,距離mytable的按位置
  2. 負荷結果數組
  3. SELECT COUNT(也許幾百個位置的百)( *)總共爲tbl.location AS LOCATION FROM(SELECT DISTINCT customer FROM myTable WHERE location = location_inserted_by_php)as tbl;

現在,這聽起來像一個相當愚蠢的解決方案,但我不熟悉嵌套查詢。任何幫助?

感謝

+0

所以,你要查詢相結合,讓顧客A所造訪的位置讓說,然後讓他們參觀了前10位?您可以先查詢該信息,然後解析並計數。我總是發現COUNT很慢,所以我嘗試使用它。 – Matt 2010-10-23 19:45:53

+0

我希望訪問前10位的位置,但僅限於統計獨立訪問者的訪問次數。所以,如果您提到的客戶A訪問了1000次,那麼仍然只有1次訪問。 – hummingBird 2010-10-23 19:57:34

回答

2
SELECT location,count(distinct customer) as visitors from customer_locations 
GROUP BY location 
ORDER BY visitors DESC 
LIMIT 10 

通過唯一身份訪問者人數獲取前10名的位置

+0

謝謝。不知道我可以輸入不同的客戶數量:(現在我需要一個很好的(而且完全)的MySQL教程,顯然。 – hummingBird 2010-10-23 20:03:14