MYSQL 统计以首字符总数统计,去掉首字符空格,统计结果以数字和26位字母展示 例如0 314144 1 903463
时间: 2024-12-22 12:23:39 浏览: 3
MySQL 中统计以首字符去除空格后的字符数,并按照数字和大小写字母的顺序显示,可以使用组合查询和`CHAR_LENGTH()`函数配合字符串处理。假设有一个名为 `your_table` 的表,其中包含需要统计的字段 `your_column`,你可以创建如下 SQL 查询:
```sql
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(your_column, ' ', 1), '', -1) AS leading_char,
COUNT(*)
FROM
your_table
WHERE
leading_char REGEXP '[[:digit:]]' -- 如果是数字
GROUP BY
leading_char
ORDER BY
CASE
WHEN leading_char REGEXP '[A-Za-z]' THEN leading_char
ELSE CAST(leading_char AS UNSIGNED) -- 将数字转换为数字便于排序
END;
UNION ALL
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(your_column, ' ', 1), '', -1),
COUNT(*)
FROM
your_table
WHERE
leading_char REGEXP '[A-Za-z]' -- 如果是字母
GROUP BY
leading_char
ORDER BY
ASCII(leading_char);
```
这个查询首先通过 `SUBSTRING_INDEX` 函数获取每个字符串的第一个非空字符,然后对数字和字母分别进行分组并计算次数。`REGEXP` 和 `ASCII` 函数用于区分数字和字母。最后的结果会按数字和字母的顺序排列。
注意:上述SQL适用于MySQL 8.0及以上版本,如果你的数据库版本较低,可能需要调整正则表达式或其他函数以适应。
阅读全文