我试图回答这样一个问题:在使用MySQL的SQL查询角色出现在字符串的第一个位置和第二个位置的频率是多少?
How often does a character occur in the first position versus the second position of a string?
。
但是我得到一个语法错误。
代码:
SELECT
onechar,
ASCII(onechar) as asciival,
COUNT(*) as cnt,
SUM(CASE WHEN pos = 1 THEN 1 ELSE 0 END) as pos_1,
SUM(CASE WHEN pos = 2 THEN 1 ELSE 0 END) as pos_2
FROM (
(SELECT
SUBSTRING(`city`, 1, 1) as onechar,
1 as pos
FROM `orders`
WHERE LEN(`city` >= 1)
UNION ALL
(SELECT
SUBSTRING(`city`, 2, 1) as onechar,
2 as pos
FROM `orders`
WHERE LEN(`city` >= 2)
)
GROUP BY onechar
ORDER BY onechar
错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY onechar ORDER BY onechar LIMIT 0, 30' at line 1
试了几种方法都没有成功。
任何人都可以告诉我这个问题?
在查询中有不匹配的圆括号。 –
嗨费利克斯,你能指导我在哪里? –