› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
lxk11153
V2EX  ›  MySQL

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

  •  
  •   lxk11153 · Aug 6, 2020 · 4358 views
    This topic created in 2248 days ago, the information mentioned may be changed or developed.
    # 以下是表格 [doge]
    | a |
    | ---- |
    | 1 |
    | 2,3 |
    | 4,5,6 |
    

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

    Supplement 1  ·  Aug 6, 2020
    > 导出到csv
    > tr ',' '\n'
    > wc -l csv
    

    没毛病吧?[滑稽]

    13 replies  •  2020-08-07 09:29:27 +08:00
    zxlzy
        1
    zxlzy  
       Aug 6, 2020 via Android
    这种逻辑交给业务层来做,mysql 就不是干这个的。
    solu
        2
    solu  
       Aug 6, 2020
    冗余一个字段存数量
    lxk11153
        3
    lxk11153  
    OP
       Aug 6, 2020
    @zxlzy #1 👇
    @solupro #2 好的,下次不这么干,可是这也不是我干的啊,我只是拿到了一份 db 数据而已,就想问问有木有不通过写 java/python 代码查询数量的便携方式
    460881773
        4
    460881773  
       Aug 6, 2020
    mysql 没有 split 函数吧 可能需要自己去实现 mysql 函数. 还是交给 代码来处理比较好 数据库尽量不干涉数据
    humpy
        5
    humpy  
       Aug 6, 2020   ❤️ 8
    SELECT sum(n)
    FROM (
    SELECT length(a) - length(replace(a, ',', '')) + 1 AS n
    FROM test
    ) t;
    lxk11153
        6
    lxk11153  
    OP
       Aug 6, 2020
    @humpy #5 这么看来,这问题很一般么,看来我不应该来提这个问题,而是应该提“如何学会思考” [doge]
    zzvgtiger
        7
    zzvgtiger  
       Aug 6, 2020
    @humpy 你这个想法很溜啊
    wysnylc
        8
    wysnylc  
       Aug 6, 2020
    不建议使用数据库处理,分批批量取出在代码中计算更适用
    ruanimal
        9
    ruanimal  
       Aug 6, 2020
    盲猜数据是 php 写的吧?
    lxk11153
        10
    lxk11153  
    OP
       Aug 6, 2020
    @ruanimal #9 它不是什么语言写的问题,我也不知道什么语言写的,我只下载到这份 db 文件而已 [doge]
    singerll
        11
    singerll  
       Aug 6, 2020 via Android
    扔到 excel 里面,计算有几个逗号
    MoYi123
        12
    MoYi123  
       Aug 6, 2020
    长度等于逗号数 + 1
    conglovely
        13
    conglovely  
       Aug 7, 2020
    @humpy #5 学到了学到了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   778 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 21:01 · PVG 05:01 · LAX 14:01 · JFK 17:01
    ♥ Do have faith in what you're doing.