我正在尝试选择字段为timestamp
的行,其长度短于16个字符。我尝试了以下内容:
SELECT LENGTH(timestamp), id
FROM my_table
HAVING LENGTH(timestamp) < 16
但是我收到了这个错误:
#1054 - 'having clause'
中的未知列'timestamp'
有什么建议吗?
答案 0 :(得分:8)
我想你想要:
SELECT LENGTH(`timestamp`), id
FROM my_table
WHERE LENGTH(`timestamp`) < 16
或者,如果你真的试图对结果进行分组......
SELECT LENGTH(`timestamp`)
FROM my_table
GROUP BY LENGTH(`timestamp`)
HAVING LENGTH(`timestamp`) < 16
注意每个示例中的反引号(`)以转义列名。
答案 1 :(得分:0)
我认为这将有效:
SELECT DISTINCT
LENGTH(timestamp)
FROM my_table
WHERE LENGTH(timestamp) < 16