Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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
Php Sql重复项的不同计数_Php_Mysql - Fatal编程技术网

Php Sql重复项的不同计数

Php Sql重复项的不同计数,php,mysql,Php,Mysql,我正在对mysql数据库进行查询。我有一个存储用户的主表和另一个存储用户朋友的表。对于每个用户,我想看看有多少 他们有很多朋友。这就是我得到的 ID FirstName LastName FriendID 1 Andrew Smith 1 1 Andrew Smith 5 1 Andrew Smith 9 2 John Doe 3 2 John Doe 5 这就是

我正在对mysql数据库进行查询。我有一个存储用户的主表和另一个存储用户朋友的表。对于每个用户,我想看看有多少 他们有很多朋友。这就是我得到的

ID    FirstName LastName FriendID
1     Andrew    Smith     1
1     Andrew    Smith     5
1     Andrew    Smith     9
2     John      Doe       3
2     John      Doe       5
这就是我想要的

ID    FirstName LastName Friends
1     Andrew    Smith     3
2     John      Doe       2
如果这还不够详细,请告诉我,我还将显示我使用的表和查询

 SELECT ID, FirstName, LastName, COUNT(FriendID) AS Friends
    FROM Users GROUP BY ID, FirstName, LastName
希望你不是真的在每个UserFriendLink记录中存储FirstName和LastName。如果是的话,现在是时候用Users表(带有ID、First和Last)和UserFriendsLink表(带有UserID和friendsid)规范化数据库了


希望你不是真的在每个UserFriendLink记录中存储FirstName和LastName。如果是,那么现在是时候用一个Users表(带ID、First和Last)和一个UserFriendsLink表(带UserID和friendsid)来规范数据库了。

John Doe(ID 2)两次映射到同一个friendsid(3)并算作两个朋友对吗?哦,你说得对,更新了。我试图在不使用克劳斯的群组的情况下进行计数。John Doe(ID 2)两次映射到同一个FriendID(3)并计数为2个朋友对吗?哦,你说得对,更新了。我试图在不使用group by子句的情况下进行计数。在本例中,我们可以假设用户拥有大量与他们相关的信息。朋友永远不会成为用户。我的实际申请是一个公告板,上面有帖子和回复
对于每个帖子,都可以有多个回复,回复的相关字段更少,回复永远不会是帖子。但我上面给出的示例说明了关系我上面显示的表是我的左连接查询的结果,该查询连接了几个标准化的表感谢帮助,我丢失的是group by。在这个示例中,我们可以假设用户有很多与他们相关的信息。朋友永远不会成为用户。我的实际申请是一个公告板,上面有帖子和回复
对于每个帖子,都可以有多个回复,回复的相关字段更少,回复永远不会是帖子。但我上面给出的示例说明了关系我上面显示的表是我的左连接查询的结果,该查询连接了几个标准化的表感谢您的帮助,我缺少的是group by