MYSQL GROUP BY没有分组

时间:2013-05-19 12:20:32

标签: php mysql

我想通过visit_id对某些结果进行分组,但它似乎无法正常工作。

这是我的代码。

  SELECT url1 FROM pages GROUP BY visit_id ORDER BY timedate

这是我的数据库结构

 id` int(10) NOT NULL AUTO_INCREMENT,
`client_id` int(11) NOT NULL,
`url` text NOT NULL,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`timedate` datetime NOT NULL,
`visit_id` varchar(100) NOT NULL,
`url1` varchar(255) NOT NULL,
`page_time` time NOT NULL

代码工作原理似乎没有按ID分组

1 个答案:

答案 0 :(得分:0)

这是猜测。猜测是,您希望给定url1的所有visit_id“分组”在一起。如果是,请使用group_concat()

SELECT visit_id, group_concat(url1 separator ', ' order by timedate)
FROM pages
GROUP BY visit_id

我还在visit_id子句中加入了select,这样您就可以看到哪个访问对应哪些页面。如果您需要唯一列表,请使用group_concat(distinct url1 . . .)