Mysql 选择字段regexp分组依据所在的字段
我试图编写一个查询,根据字段中的第一个字符不是alpha这一事实来选择行 例如,假设表中有以下数据: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
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的版本是什么?请向我们展示您的结果……您是对的,实际行值本身有问题。我把它改成了带段塞场,它可以工作了。