› 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
kingfi
V2EX  ›  MySQL

mysql 的相邻结果合并问题

  •  1
     
  •   kingfi · Sep 18, 2018 · 4434 views
    This topic created in 2931 days ago, the information mentioned may be changed or developed.
    查询的多条结果(排序后),想把相邻的有共同特征的数据(某几列相同)合并,有好的方案吗?

    例:查询结果是 AAABBA 6 条结果,合并后是 ABA 3 条结果
    10 replies  •  2018-09-18 22:59:35 +08:00
    awah
        1
    awah  
       Sep 18, 2018 via Android
    为什么排序后还是 AAABBA?不应该是 AAAABB 吗?
    reus
        2
    reus  
       Sep 18, 2018
    用 postgresql

    SELECT
    DISTINCT ON (列 1, 列 2)
    *
    FROM xxx

    这样在遇到连续的列 1 和列 2 相等的行,会只取第一条
    F281M6Dh8DXpD1g2
        3
    F281M6Dh8DXpD1g2  
       Sep 18, 2018
    没看明白你到底要什么
    kingfi
        4
    kingfi  
    OP
       Sep 18, 2018
    @luguhu 不是按这列排序的呀,还有一列是时间,按时间排序的 =-=
    kingfi
        5
    kingfi  
    OP
       Sep 18, 2018
    @reus 感谢 先不考虑换数据库工具
    kingfi
        6
    kingfi  
    OP
       Sep 18, 2018
    @liprais 感谢回复,补充 2 点,1 是一楼问的,排序是按记录创建时间,举例的 A 和 B,是表示具有不同特征的记录(有某几列数据项的值相同)
    randyzhao
        7
    randyzhao  
       Sep 18, 2018
    合并啥意思?值相加?拼字符串?

    我楼上说的“有某几列数据项的值相同”,如果相同。。。为啥不挑一列取就完事了。。。

    建议楼主把字段名公开出来,便于理解。
    AAABBA ABA 这种表述方式太不易于别人理解问题了。
    liuxu
        8
    liuxu  
       Sep 18, 2018
    Leigg
        9
    Leigg  
       Sep 18, 2018 via iPhone
    mysql 中的合并指的是 group 操作,使用 group 语句时,返回的字段要么是分组的字段,要么是聚合函数输出的字段。
    mmdsun
        10
    mmdsun  
       Sep 18, 2018 via Android
    说的是多列去重吧。group by 就可以。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2756 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 96ms · UTC 08:09 · PVG 16:09 · LAX 01:09 · JFK 04:09
    ♥ Do have faith in what you're doing.