Mysql 返回到第一位的子字符串
我正在尝试按模式为Mysql 返回到第一位的子字符串,mysql,sql,select,substring,Mysql,Sql,Select,Substring,我正在尝试按模式为[:alpha:][:digit:][.或[:alpha:][:alpha:][:digit:][.的字段对行进行分组,其子字符串最多不包括数字。i、 e.返回的子字符串将有一个或两个字母 我的想法大致如下: SELECT LEFT(postcode,IF(ISDIGIT(postcode,2),1,2)) AS area, COUNT(*) AS num FROM addresses GROUP BY LEFT(postcode,IF(ISDIGIT(postco
[:alpha:][:digit:][.
或[:alpha:][:alpha:][:digit:][.
的字段对行进行分组,其子字符串最多不包括数字。i、 e.返回的子字符串将有一个或两个字母
我的想法大致如下:
SELECT
LEFT(postcode,IF(ISDIGIT(postcode,2),1,2)) AS area,
COUNT(*) AS num
FROM addresses
GROUP BY
LEFT(postcode,IF(ISDIGIT(postcode,2),1,2))
当然,除了没有ISDIGIT()
函数之外
我还想到了类似于左(邮政编码,POSITION\u REGEX(“\d”在邮政编码中))
的东西,但显然这也不存在:-/
数据库服务器正在运行MySQL 4.1.24升级到5.0是可能的,但需要停机,目前尚未完成,因为到目前为止还没有必要进行升级。请参阅以下答案:
SELECT
LEFT(postcode, IF(postcode REGEXP '^.[[:digit:]]', 1, 2)) AS area,
COUNT(*) AS num
FROM addresses
GROUP BY area