Php MySQL从一组行中选择第一个实例

Php MySQL从一组行中选择第一个实例,php,mysql,count,group-by,Php,Mysql,Count,Group By,我有一个存储用户访问的表,如下所示: visits (id, pageURL, date, ip) 每次用户进入页面时,都会创建一个新行,因此每个用户都会有许多行通过其IP链接在一起 我正在尝试提出一个查询,只要pageURL是user.html,它将只选择每个用户第一次访问站点时登陆的第一行 这是我无法理解的,我可以很容易地用PHP和几个MySQL查询来完成,但是如果只有一个查询来完成,它可能会更快。就在我脑子里,我想 SELECT * FROM visits WHERE pageURL='

我有一个存储用户访问的表,如下所示:

visits (id, pageURL, date, ip)
每次用户进入页面时,都会创建一个新行,因此每个用户都会有许多行通过其IP链接在一起

我正在尝试提出一个查询,只要pageURL是user.html,它将只选择每个用户第一次访问站点时登陆的第一行


这是我无法理解的,我可以很容易地用PHP和几个MySQL查询来完成,但是如果只有一个查询来完成,它可能会更快。

就在我脑子里,我想

SELECT * FROM visits WHERE pageURL='user.html' GROUP BY ip SORT BY ip, date

询问者不会告诉您行ID是一个自动递增的数字。如果id是guid,这将如何工作?如果询问者没有提供足够的信息让我猜测,那么按日期选择第一次访问页面更有意义。使用唯一的id是正常的-我的解决方案是一个很好的建议。如果你必须猜测,那么你不应该真的猜测可能是错误的东西。日期除非输入不正确,否则不会出错,ID可能会出错。你和我一样猜。您假定日期字段只包含年、月和日。上午0点附近的页面访问情况如何?
select * from visits group by ip having pageURL='user.html' order by id,date asc limit 1
SELECT pageURL,date,ip 
FROM visits v1
WHERE id = (SELECT MIN(id) FROM visits v2 WHERE v2.ip = v1.ip) 
  AND pageURL='user.html' -- dont know if necessary