我设置了页面,每个页面都有PageID
,会记录唯一访问者信息 IP
, Country
, Browser
、系统
和访问日期
这是数据库表的示例
-------------------------------------------------------------------
| PageID | IP | Country | Browser | System | Date |
-------------------------------------------------------------------
| 1 | 00-00-00-1 | UK | Chrome | Win7 | 2016-05-22 |
-------------------------------------------------------------------
| 6 | 00-00-00-2 | France | Firefox | Win8 | 2016-05-25 |
-------------------------------------------------------------------
| 1 | 00-00-00-3 | USA | Firefox | WinXP | 2016-05-26 |
-------------------------------------------------------------------
| 8 | 00-00-00-4 | Spain | Opera | Android | 2016-05-28 |
-------------------------------------------------------------------
| 1 | 00-00-00-5 | UK | Chrome | Win10 | 2016-06-01 |
-------------------------------------------------------------------
| 8 | 00-00-00-6 | Italy | Safari |Kardishan| 2016-06-02 |
-------------------------------------------------------------------
| 5 | 00-00-00-7 | USA | Unknown | Android | 2016-06-02 |
-------------------------------------------------------------------
| 3 | 00-00-00-8 | UK | Firefox | Win7 | 2016-06-02 |
-------------------------------------------------------------------
我的问题
1) 如何进行查询以获得访问者来自的前 3 个国家?从上面的示例中,结果应该是:-
UK 3
USA 2
France 1
2) 如何通过相同的查询获得访问者来自的前 3 个国家/地区,其中 PageID = 1
来自上述示例,结果应该是:-
UK 2
USA 1
~这对我理解如何生成静力学有很大帮助,谢谢
最佳答案
这将为您提供总体排名前 3
的国家/地区:
SELECT Country, COUNT(*)
FROM mytable
GROUP BY Country
ORDER BY COUNT(*) DESC LIMIT 3
要获得特定 PageID
的前 3
,只需添加一个 WHERE PageID = 1
子句。
关于php - 前 3 个结果的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37607419/