Mysql 选择字段regexp分组依据所在的字段

Mysql 选择字段regexp分组依据所在的字段,mysql,Mysql,我试图编写一个查询,根据字段中的第一个字符不是alpha这一事实来选择行 例如,假设表中有以下数据: id | band | song 1 | 3 days grace | song name 2 | avenged sevenfold | song name 3 | as i lay dying | song name 4 | 98 mute | song name 5 | 98 mute | another song name 我需要这个来选择: 3 days grace (and sho

我试图编写一个查询,根据字段中的第一个字符不是alpha这一事实来选择行

例如,假设表中有以下数据:

id | band | song
1 | 3 days grace | song name
2 | avenged sevenfold | song name
3 | as i lay dying | song name
4 | 98 mute | song name
5 | 98 mute | another song name
我需要这个来选择:

3 days grace (and show a count of 1)
98 mute (and show a count of 2)
这是我的密码:

select band, count(*) as count
from `songs`
where `band` REGEXP '^[^[:alpha:]]'
group by `band`
order by `band` asc

这根本不起作用。

我在我的数据库中尝试了您的查询,结果很好,所以问题不在于REGEXP,而在于其他方面。标题和文章是我的数据库中的列。有趣的是,AS COUNT如何工作而不将COUNT封装在`

mysql> select Title, count(*) as count 
    -> from `Articles` 
    -> where `Title` REGEXP '^[^[:alpha:]]' 
    -> group by `Title` 
    -> order by `Title` asc;

+--------------+-------+
| Title        | count |
+--------------+-------+
| 3 days grace |     1 |
| 98 mute      |     2 |
+--------------+-------+

尝试在查询的第一部分封装字段名
Title
count
。虽然它似乎适用于stephanie gratzer,但您的字段名是SQL关键字这一配置可能存在问题。封装它/可能/解决此(潜在)问题。

您的语法正确,查询必须正常工作。MySQL的版本是什么?请向我们展示您的结果……您是对的,实际行值本身有问题。我把它改成了带段塞场,它可以工作了。