Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql sql关系显示表中每个记录的总和(值)_Mysql_Join_Count - Fatal编程技术网

Mysql sql关系显示表中每个记录的总和(值)

Mysql sql关系显示表中每个记录的总和(值),mysql,join,count,Mysql,Join,Count,我有两个表1用于网页详细信息 另一个是参观 如下 页数 拜访 vid pid ip datetime 1 1 222.1.1.1 2013-01-01 11:11:11 2 1 12.12.2.1 2013-01-01 11:21:11 3 3 222.1.1.1 2013-01-02 10:11:11 4 2 12.12.2.1 2013-02-01 11:21:11

我有两个表1用于网页详细信息 另一个是参观 如下

页数

拜访

vid   pid    ip          datetime
1      1    222.1.1.1     2013-01-01 11:11:11
2      1    12.12.2.1     2013-01-01 11:21:11 
3      3    222.1.1.1     2013-01-02 10:11:11
4      2    12.12.2.1     2013-02-01 11:21:11 
5      3    222.1.1.1     2013-03-01 11:14:11
6      1    12.12.2.1     2013-04-01 11:55:11 
我想显示如下

pid pname      and-more-columns   total_visits (shud count from VISITS table)
1   index      -----------           3 
2   contact    -----------           1
3   about      -----------           2
选择p.*,计数(v.pid)
从第p页开始
内部联合访问
在p.pid=v.pid上
按p.pid、p.pname分组,
假设您想要不匹配的“0”,那么您想要左外连接:

SELECT p.*, COUNT(v.pid)
FROM PAGES p left outer join
     VISITS v
     ON p.pid = v.pid
GROUP BY p.pid

请注意,这是在
group by
子句中仅按一个字段进行分组。这使用了名为“隐藏列”的MySQL(mis)功能。此版本还假定
pages.pid
字段是唯一的。

您已经尝试了什么?
SELECT
    v.*,
    count(p.pid) AS `TotalVisits`
FROM PAGES AS p
INNER JOIN VISITS AS v ON v.pid = p.pid
GROUP BY p.pid
SELECT p.*, COUNT(v.pid)
FROM PAGES p left outer join
     VISITS v
     ON p.pid = v.pid
GROUP BY p.pid
SELECT
    v.*,
    count(p.pid) AS `TotalVisits`
FROM PAGES AS p
INNER JOIN VISITS AS v ON v.pid = p.pid
GROUP BY p.pid