Php 例如,只需从view2中选择*即可创建其他视图。不是你想要的答案,而是一个很好的工具,我一直想看看。也许今天是这样做的好日子。看起来很棒!由于限制,我不能完全更改表,但可能可以使用具有类似结构的视图或临时表。虽然我不理解所有的MySQL代码,但我想重写很多

Php 例如,只需从view2中选择*即可创建其他视图。不是你想要的答案,而是一个很好的工具,我一直想看看。也许今天是这样做的好日子。看起来很棒!由于限制,我不能完全更改表,但可能可以使用具有类似结构的视图或临时表。虽然我不理解所有的MySQL代码,但我想重写很多,php,mysql,sql,database,Php,Mysql,Sql,Database,例如,只需从view2中选择*即可创建其他视图。不是你想要的答案,而是一个很好的工具,我一直想看看。也许今天是这样做的好日子。看起来很棒!由于限制,我不能完全更改表,但可能可以使用具有类似结构的视图或临时表。虽然我不理解所有的MySQL代码,但我想重写很多代码的部分原因是为了提高我的数据库技能。你介意解释一下上面的代码吗?最具体地说,就是您向我展示的select查询。 +----+-----------+--------------+--------------+ | id | location


例如,只需从view2中选择*即可创建其他视图。不是你想要的答案,而是一个很好的工具,我一直想看看。也许今天是这样做的好日子。看起来很棒!由于限制,我不能完全更改表,但可能可以使用具有类似结构的视图或临时表。虽然我不理解所有的MySQL代码,但我想重写很多代码的部分原因是为了提高我的数据库技能。你介意解释一下上面的代码吗?最具体地说,就是您向我展示的select查询。
+----+-----------+--------------+--------------+
| id | location  | date_visited | time_visited |
+----+-----------+--------------+--------------+
| 1  | place 1   | 2012-04-20   | 11:00:00     |
+----+-----------+--------------+--------------+
| 2  | place 2   | 2012-04-20   | 11:06:00     |
+----+-----------+--------------+--------------+
| 3  | place 1   | 2012-04-20   | 11:06:00     |
+----+-----------+--------------+--------------+
| 4  | place 3   | 2012-04-20   | 11:20:00     |
+----+-----------+--------------+--------------+
| 5  | place 2   | 2012-04-20   | 11:21:00     |
+----+-----------+--------------+--------------+
| 6  | place 1   | 2012-04-20   | 11:22:00     |
+----+-----------+--------------+--------------+
| 7  | place 3   | 2012-04-20   | 11:23:00     |
+----+-----------+--------------+--------------+
+----+-----------+--------+
| id | location  | visits |
+----+-----------+--------+
| 1  | place 1   | 2      |
+----+-----------+--------+
| 2  | place 2   | 2      |
+----+-----------+--------+
| 3  | place 3   | 1      |
+----+-----------+--------+
INSERT INTO temp 
    SELECT * FROM (
        SELECT *,COUNT('visits') 
             FROM source AS table1 
             GROUP BY location
             WHERE date_visited > xxxx AND date_visited < xxxx
        )
       AS table2
CREATE TABLE  `visits` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `location` varchar(45) NOT NULL,
  `visited` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `loc_vis` (`location`,`visited`)
) ENGINE=InnoDB;

INSERT INTO visits (location, visited) VALUES
('place 1', '2012-04-20 11:00:00'),
('place 2', '2012-04-20 11:06:00'),
('place 1', '2012-04-20 11:06:00'),
('place 3', '2012-04-20 11:20:00'),
('place 2', '2012-04-20 11:21:00'),
('place 1', '2012-04-20 11:22:00'),
('place 1', '2012-04-20 11:23:00');
SELECT
  location,
  COUNT(IF(@loc <> @loc:=location,
           @vis:=visited,
           IF(@vis + INTERVAL 10 MINUTE < @vis:=visited,
              visited,
              NULL))) as visit_count
FROM visits,
     (SELECT @loc:='', @vis:=FROM_UNIXTIME(0)) as init
GROUP BY location;
+----------+-------------+
| location | visit_count |
+----------+-------------+
| place 1  |           2 |
| place 2  |           2 |
| place 3  |           1 |
+----------+-------------+
3 rows in set (0.00 sec)