SQL计数 - 不工作

use*_*462 21 mysql sql count

我正在尝试这段代码:

SELECT COUNT (oferta_id_oferta) 
FROM `oferta_has_tags` 
WHERE oferta_id_oferta = 
(SELECT id_oferta FROM oferta 
WHERE oferta = "designer")
Run Code Online (Sandbox Code Playgroud)

我收到 error: 1630 - FUNCTION mydb.COUNT does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual

如果我删除这个COUNT词,我会得到两个结果.

问题是什么?

msa*_*het 64

不要放空间

SELECT COUNT(oferta_id_oferta) 
FROM `oferta_has_tags` 
WHERE oferta_id_oferta = 
(SELECT id_oferta FROM oferta 
WHERE oferta = "designer")
Run Code Online (Sandbox Code Playgroud)

  • 简直不敢相信! (3认同)
  • 上帝很讨厌. (2认同)
  • 那太疯狂了。现在是 2021 年了,解析器无法处理这个问题吗? (2认同)

Obs*_*bot 7

尝试删除COUNT和括号之间的空格:

SELECT COUNT(oferta_id_oferta) 
FROM `oferta_has_tags` 
WHERE oferta_id_oferta = 
(SELECT id_oferta FROM oferta 
WHERE oferta = "designer")
Run Code Online (Sandbox Code Playgroud)

此外,您可以通过加入来删除子查询:

SELECT COUNT(oferta_id_oferta) 
FROM `oferta_has_tags`, `oferta`
WHERE
    oferta_has_tags.oferta_id_oferta = oferta.id_oferta
    AND oferta.oferta = "designer"
Run Code Online (Sandbox Code Playgroud)