我有很多網站用戶,我想選擇所有網站並按訪問者數量排序。用戶可以通過兩種方式指定訪問者數量。他們可以手動輸入它作爲一個字符串,它存儲在下面的查詢中的fb.visitor中。如何使用2列按最高值排序結果?
第二種方式是,他的用戶在他們的網站上安裝了一個Javascript跟蹤代碼,然後向表tracking_visits添加條目,總訪問量爲count(tv.id)。
我想能夠以2種方式對此結果進行排序。
1)我想使用兩列在頂部和底部得到最高的結果。示例的結果應該是:
- 99'947(COUNT(tv.id))
- 75'412(COUNT(tv.id))
- 40'000(fb.visitors)
- 37'482(COUNT(tv.id))
- 30'000(fb.visitors)
2)第二類我希望能得到所有COUNT(tv.id)之上,最高第一,然後獲得fb.visitors最高的第一個以下。例如:
- 99'947(COUNT(tv.id))
- 75'412(COUNT(tv.id))
- 37'482(COUNT(tv.id))
- 40000(fb.visitors)
- 30'000(fb.visitors)
我目前的查詢看起來是這樣的:
SELECT cs.userid, fb.visitors, COUNT(tv.id)
FROM campaigns_signups cs
INNER JOIN fe_blogs fb ON cs.userid = fb.userid
INNER JOIN tracking_visits tv ON tv.blogid = cs.userid
WHERE tv.visitdate
BETWEEN "2013-09-04"
AND "2013-10-04"
AND cs.campaignid = "97"
AND cs.status < "4"
GROUP BY tv.blogid
ORDER BY COUNT(tv.id) , fb.visitors DESC
請注意查詢中的日期和整數僅僅是示例。
該查詢的問題是,它只會選擇具有tracking_visits中條目的結果。我想選擇一個結果,在這裏我獲得了在tracking_visits中擁有訪問者數量的博客和在fb.visitors中擁有訪問者數量的博客。
第二他可以使用一個案例 – AdrianBR