mysql - 通配符字符串选择 MySQL
问题描述
我有一张像这样的桌子
|--------------------------------------------|------------------|
| Column 1 | column 2 |
|--------------------------------------------|------------------|
|/fixed/sample_1 | 10 |
|--------------------------------------------|------------------|
|/fixed/sample_1/ | 15 |
|--------------------------------------------|------------------|
|/fixed/sample_1/sp1_level2 | 10 |
|--------------------------------------------|------------------|
|/fixed/sample_1/sp1_level2/sp1_level3 | 20 |
|--------------------------------------------|------------------|
|/fixed/sample_2/ | 25 |
|--------------------------------------------|------------------|
|/fixed/sample_2/sp2_level2/sp2_level3 | 20 |
|--------------------------------------------|------------------|
|/fixed/sample_3 | 30 |
|--------------------------------------------|------------------|
我想使用 select 语句从第 1 列中选择并为第 2 列添加值,我的结果表是
|--------------------------------------------|------------------|
| Column 1 | column 2 |
|--------------------------------------------|------------------|
|/fixed/sample_1/ | 55 |
|--------------------------------------------|------------------|
|/fixed/sample_2/ | 45 |
|--------------------------------------------|------------------|
|/fixed/sample_3/ | 30 |
|--------------------------------------------|------------------|
有没有办法做到这一点?
谢谢
解决方案
我认为您可以使用substring_index()
and group by
:
select substring_index(col1, '/', 3) as new_col1,
sum(col2)
from t
group by new_col1;
推荐阅读
- javascript - Redux 初始状态在操作时消失
- java - 仅使用 Spring Security 为某些请求设置多种身份验证方法
- javascript - 有没有办法禁用输入/粘贴到日期输入,只允许用户从 AntD 中的日期选择器中选择?
- java - 将 Java 中的 CSV 文件加载和编辑到列表中
- python-3.x - 如何在python 3上添加序列号和重命名文件名
- python - 如何在赋值运算符的左侧使用列表推导?
- c++ - GCC 堆栈溢出负数
- ruby-on-rails - Ruby on Rails 测试中的“数据库已锁定”错误消息是什么意思?
- android - 在 PDF Android 上插入数字签名
- image - Odoo12中ir_attachment表中的db_datas列有什么用?