Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 返回到第一位的子字符串_Mysql_Sql_Select_Substring - Fatal编程技术网

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