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

标签 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.

尝试改变不同的东西,但仍然行不通。

最佳答案

您应该使用 count(DISTINCT 程序i.Salla ) 而不是计数 (..) ..删除 COUNT 和 (...

SELECT koncert.ID_K
FROM koncert
INNER JOIN    programi  on koncert.ID_K = programi.ID_K
GROUP BY koncert.ID_K
HAVING COUNT(DISTINCT programi.Salla) = 2

但您还需要表名以避免歧义并使用显式连接语法

关于mysql - 如何解决 HAVING COUNT DISTINCT 附近的错误语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48646392/

相关文章:

sql - 从 Table1 中查找值,其中 Table2 中的值位于 Table1 中的行之间

mysql - 如何从 Visual Basic 6 连接到 MySQL 数据库

mysql - sql查询中的左外连接

sql - BULK INSERT 内部如何工作?

php - 为什么我的sql语句在数据库中插入两行?

mysql - 如何计算历史表中每个状态的数量请参阅输出

postgresql - 在这种情况下,为什么 Postgresql 不对我的复合索引使用 Index Only Scan?

postgresql - 我在 postgres 中使用 group by 时出错?

php - 保持用户特定 session 信息安全的最佳方式

php - 如何将通过 Summernote 生成的大型 Base64 图像保存在我的数据库中?