首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
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
拉钩
V2EX  ›  MySQL

mysql 的相邻结果合并问题

  •  1
     
  •   kingfi · 88 天前 · 827 次点击
    这是一个创建于 88 天前的主题,其中的信息可能已经有所发展或是发生改变。
    查询的多条结果(排序后),想把相邻的有共同特征的数据(某几列相同)合并,有好的方案吗?

    例:查询结果是 AAABBA 6 条结果,合并后是 ABA 3 条结果
    10 回复  |  直到 2018-09-18 22:59:35 +08:00
        1
    luguhu   88 天前 via Android
    为什么排序后还是 AAABBA?不应该是 AAAABB 吗?
        2
    reus   88 天前
    用 postgresql

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

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

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

    建议楼主把字段名公开出来,便于理解。
    AAABBA ABA 这种表述方式太不易于别人理解问题了。
        9
    Leigg   87 天前 via iPhone
    mysql 中的合并指的是 group 操作,使用 group 语句时,返回的字段要么是分组的字段,要么是聚合函数输出的字段。
        10
    mmdsun   87 天前 via Android
    说的是多列去重吧。group by 就可以。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2221 人在线   最高记录 4019   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 17ms · UTC 09:57 · PVG 17:57 · LAX 01:57 · JFK 04:57
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1