sql - 如果我有一个包含完整域名的数据库表,如何计算对二级域的请求?
问题描述
我有table1
列的表domain
,request_time
。这是记录的示例(我忽略了request_time
,因为它对这个问题并不重要)。
Domain
--------------------
abc.example1.com
def.example1.com
def.example1.com
def.example1.com
yyy.example2.com
zzz.example3.com
ghi.example1.com
zzz.example3.com
def.example1.com
yyy.example2.com
zzz.example3.com
def.example1.com
ghi.example1.com
zzz.example3.com
yyy.example2.com
yyy.example2.com
def.example1.com
yyy.example2.com
zzz.example3.com
def.example1.com
ghi.example1.com
def.example1.com
zzz.example3.com
def.example1.com
yyy.example2.com
zzz.example3.com
yyy.example2.com
abc.example1.com
我正在使用这个查询来计算每个域的请求:
SELECT DISTINCT Domain, COUNT(*) AS REQUESTS_COUNT
FROM table1
GROUP BY Domain
ORDER BY REQUESTS_COUNT
结果我得到:
def.example1.com 9
yyy.example2.com 7
zzz.example3.com 7
ghi.example1.com 3
abc.example1.com 2
如何根据二级域名获得结果?
这是我想要得到的示例:
example1.com 14
example2.com 7
example3.com 7
我正在使用sqlite。
解决方案
您可以使用substr()
& instr()
:
select substr(domain, instr(Domain,'.') + 1), count(*) as REQUESTS_COUNT
from table1 t1
group by substr(domain, instr(Domain,'.') + 1)
推荐阅读
- java - JNI中如何释放返回的对象?
- angularjs - 谷歌标签管理器不听 dataLayer.push 的问题
- excel - 如何忽略 WB.Open 弹出用户窗体?
- dart - 使用 dio 包上传图片失败
- excel - 将 VBA 变量设置为字符串函数的结果
- angular - Angular 2 (7.3.6):使用代码将组件添加/加载到命名的路由器插座中,而无需更改浏览器 URL
- php - SQLite3::query():在准备总帐时无法准备语句
- python - Kivy RecycleView - 元素从底部出现
- git - 关于 git prune
- javascript - 登录 Javascript