如何解决HAVING COUNT DISTINCT附近的错误语法?

时间:2018-02-06 15:23:48

标签: mysql sql count distinct having

这是我试图执行的代码:

SELECT ID_K
FROM koncert,
     programi 
WHERE koncert.ID_K = programi.ID_K
GROUP BY koncert.ID_K
HAVING COUNT (DISTINCT programi.Salla) = 2

它返回此错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to
your MariaDB server version for the right syntax to use
near 'DISTINCT programi.Salla)=2 LIMIT 0, 25' at line 4.

试图改变不同的东西,但它仍然无法发挥作用。

2 个答案:

答案 0 :(得分:0)

首先,当两个表中的列名相同时,您应该使用列的限定名称

SELECT ID_K FROM

应该是

SELECT programi.ID_K FROM

否则,你会得到模糊的列错误。否则,您的查询看起来很好,除了在调用COUNT时删除额外空格(@spencer已在评论中提及)

此外,最好使用JOIN(或INNER JOINLEFT JOIN等)关键字加入您的表格,这样可以使您的查询更加清晰易读。

答案 1 :(得分:0)

你应该使用计数(DISTINCT programi.Salla )并且不计算(..)..删除COUNT和(...

之间的空格
Input table

但你还需要tablename以避免歧义,并使用显式连接sintax