我有很多网站用户,我想选择所有网站并按访问者数量对其进行排序。用户可以通过两种方式指定访客数量。他们可以手动将其作为字符串输入,该字符串存储在下面查询的 fb.visitor 中。
第二种方法是他的用户在他们的网站上安装一个 Javascript 跟踪代码,然后将条目添加到表 tracking_visits 中,并且访问总量是下面的 count(tv.id)。
我希望能够以两种方式对此结果进行排序。
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) )
- 40'000 (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 中有访问量的博客。