Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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可以';t将两个表列合并为一个显示_Mysql - Fatal编程技术网

Mysql可以';t将两个表列合并为一个显示

Mysql可以';t将两个表列合并为一个显示,mysql,Mysql,我想显示两列汇总数据 table1-统计id与show\u users表上id相同的所有字段 表2-将id与show_users表上id相同的所有值相加 这是我的疑问: SELECT show_users.id, COUNT(`table1`.id) as sum_fields , SUM(`table2`.count) as count_all FROM `show_users` LEFT JOIN `table1` ON `show_users`.id = `table1`.id LE

我想显示两列汇总数据

  • table1
    -统计id与
    show\u users
    表上id相同的所有字段
  • 表2
    -将id与
    show_users
    表上id相同的所有值相加
这是我的疑问:

SELECT show_users.id, COUNT(`table1`.id) as sum_fields , SUM(`table2`.count) as count_all
FROM `show_users` 
LEFT JOIN `table1` ON `show_users`.id = `table1`.id
LEFT JOIN `table2` ON `show_users`.id = `table2`.id
GROUP by show_users.id 
ORDER BY sum_fields DESC
table2
结果很好,但
table1
计数值不正确。。。
这是为什么?

因为在联接中,这样的计数是针对联接表的,而不是针对孤立表的。我的意思是,表1的计数值不是exect,因为它是针对联接表的。OK,但当我从查询中删除表2的左联接语法时,它会正常工作,并且不会正确计数。我找到了解决方案,我使用了这样的计数(不同的
table1
.id)哦,那你应该得到你想要的。
SELECT show_users.id, COUNT(DISTINCT `table1`.id) as sum_fields , SUM(`table2`.count) as count_all