我的网页上有一个页面点击的数据库表(visitlog)。我在下面举例说明了一个简单的例子(是的,我知道IP:s无效......这只是一个简化的例子)
id ip date
================================
1 123.123.123 2013-01-01
2 123.123.123 2013-01-05
3 234.234.234 2013-01-22
4 45.67.89 2013-04-04
5 123.123.123 2013-12-25
我想要一个SELECT语句,它添加一个计数器列,显示该行中IP的存在次数:
date ip no_of_visits
=======================================
2013-01-01 123.123.123 3
2013-01-05 123.123.123 3
2013-01-22 234.234.234 1
2013-04-04 45.67.89 1
2013-12-25 123.123.123 3
即。 “SELECT date,ip, [这里有一些计数声明] FROM visitlog”
我不想对IP行进行分组。普通的COUNT函数对此不起作用......
答案 0 :(得分:1)
使用相关的子选择来计算:
SELECT date, ip, (select count(*) from visitlog v2
where v1.ip = v2.ip) as no_of_visits
FROM visitlog v1
答案 1 :(得分:0)
SELECT date, ip, count(*)
FROM visitlog
GROUP BY date, ip
这应该工作得很好。除非我在这里遗漏了什么。
编辑:哦!我明白你的意思。我会接受jarl的回答,最有意义的是每个ip和date给你一个记录,但是每个ip的计数。