mysql 一个字段,值是用逗号拼接的,如何查 split 后的 count 数?

2020-08-06 09:46:25 +08:00
 lxk11153
# 以下是表格 [doge]
| a |
| ---- |
| 1 |
| 2,3 |
| 4,5,6 |

想要求出结果: 1+2+3=6

3305 次点击
所在节点    MySQL
13 条回复
zxlzy
2020-08-06 09:51:14 +08:00
这种逻辑交给业务层来做,mysql 就不是干这个的。
solupro
2020-08-06 09:51:15 +08:00
冗余一个字段存数量
lxk11153
2020-08-06 09:57:00 +08:00
@zxlzy #1 👇
@solupro #2 好的,下次不这么干,可是这也不是我干的啊,我只是拿到了一份 db 数据而已,就想问问有木有不通过写 java/python 代码查询数量的便携方式
460881773
2020-08-06 09:59:09 +08:00
mysql 没有 split 函数吧 可能需要自己去实现 mysql 函数. 还是交给 代码来处理比较好 数据库尽量不干涉数据
humpy
2020-08-06 10:27:42 +08:00
SELECT sum(n)
FROM (
SELECT length(a) - length(replace(a, ',', '')) + 1 AS n
FROM test
) t;
lxk11153
2020-08-06 10:31:47 +08:00
@humpy #5 这么看来,这问题很一般么,看来我不应该来提这个问题,而是应该提“如何学会思考” [doge]
philchang1995
2020-08-06 10:42:51 +08:00
@humpy 你这个想法很溜啊
wysnylc
2020-08-06 10:52:42 +08:00
不建议使用数据库处理,分批批量取出在代码中计算更适用
ruanimal
2020-08-06 14:18:42 +08:00
盲猜数据是 php 写的吧?
lxk11153
2020-08-06 14:31:29 +08:00
@ruanimal #9 它不是什么语言写的问题,我也不知道什么语言写的,我只下载到这份 db 文件而已 [doge]
singerll
2020-08-06 14:46:35 +08:00
扔到 excel 里面,计算有几个逗号
MoYi123
2020-08-06 16:16:33 +08:00
长度等于逗号数 + 1
conglovely
2020-08-07 09:29:27 +08:00
@humpy #5 学到了学到了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/696035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX