Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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 左连接计数获取错误_Mysql_Sql_Select_Count_Left Join - Fatal编程技术网

Mysql 左连接计数获取错误

Mysql 左连接计数获取错误,mysql,sql,select,count,left-join,Mysql,Sql,Select,Count,Left Join,我想计算一个左连接mysql的条目,但我总是得到一个错误 SELECT g.uid,g.datei, u.id, u.avatar, u.avatarapproved, a.points, COUNT (g.uid) as hits FROM jos_findme_gallery as g LEFT JOIN jos_findme as u ON g.uid= u.user_id LEFT JOIN jos_alpha_userpoints as a ON g.uid= a.userid

我想计算一个左连接mysql的条目,但我总是得到一个错误

SELECT g.uid,g.datei, u.id, u.avatar, u.avatarapproved, a.points, COUNT (g.uid) as hits
FROM jos_findme_gallery as g 
LEFT JOIN jos_findme as u ON g.uid= u.user_id 
LEFT JOIN jos_alpha_userpoints as a ON g.uid= a.userid 
WHERE u.avatar IS NOT NULL
ORDER BY g.uid asc
函数db1140411-dualda.COUNT不存在。检查参考手册中的“函数名解析和解析”部分


有什么想法吗?

你需要根据一些东西分组。COUNT是一个聚合函数

SELECT g.uid,g.datei, u.id, u.avatar, u.avatarapproved, a.points, COUNT(1) as hits
...
GROUP BY g.uid
ORDER BY ...
还有,为什么有两个左连接?您希望从两个联接表中的哪一个计算行数?

在使用聚合函数时,您应该使用
分组依据,但由于
count
)之间存在空格,因此会出现此特定错误

函数调用的编写不带空格的要求 名称和括号之间的值仅适用于内置的 具有特殊注意事项的函数。
COUNT
就是这样一个名称

要解决此问题,请去掉空格…并加入一个
groupby
,以明确:

SELECT 
  g.uid,
  g.datei, 
  u.id, 
  u.avatar, 
  u.avatarapproved, 
  a.points, 
  COUNT(g.uid) as hits
FROM jos_findme_gallery as g 
LEFT JOIN jos_findme as u ON g.uid= u.user_id 
LEFT JOIN jos_alpha_userpoints as a ON g.uid= a.userid 
WHERE u.avatar IS NOT NULL
GROUP BY 
  g.uid,
  g.datei, 
  u.id, 
  u.avatar, 
  u.avatarapproved, 
  a.points
ORDER BY g.uid asc

我认为计数和您的计数之间没有空格,正如我们在其他示例中看到的那样。

尝试以下方法:

SELECT g.uid, g.datei, u.id, u.avatar, u.avatarapproved, a.points, COUNT(g.uid) AS hits
FROM jos_findme_gallery AS g 
LEFT JOIN jos_findme AS u ON g.uid= u.user_id 
LEFT JOIN jos_alpha_userpoints AS a ON g.uid= a.userid 
WHERE u.avatar IS NOT NULL
GROUP BY u.id
ORDER BY g.uid ASC

如果显示表、数据和查询的预期结果,则需要按g.uid对它们进行分组,计数函数才能工作。这也可能是一条不同的错误消息……您不知道,但结果未定义。