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

如何根据 交易流水表和卡信息 对卡的消费时间进行排序

  •  
  •   Renco · 2019-08-22 11:12:44 +08:00 · 4016 次点击
    这是一个创建于 1920 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有这么一个需求,就是会员中的会员卡信息,要按照会员卡的消费时间排序,最后消费的排序在最前面

    服务器 mysql 版本做了配置 不能用 distinct 或者 group by 这种方式

    不使用这种会导致 关联交易流水表的时候会查到多个重复数据,这种情况下要怎么样实现需求

    lllllliu
        1
    lllllliu  
       2019-08-22 15:38:59 +08:00
    [
    {
    }
    ]
    lllllliu
        2
    lllllliu  
       2019-08-22 15:41:21 +08:00
    obj = [
    {
    会员卡信息...
    会员消费信息:[
    {消费时间...}
    ...
    ]
    }
    ...
    ]
    然后根据 item->消费记录->Max(消费时间) 对 item 进行排序。。。应该就好了吧。
    lllllliu
        3
    lllllliu  
       2019-08-22 15:42:14 +08:00
    或者。。直接拿所有的消费记录来排序。。然后在关联查询会员卡。
    taotaodaddy
        4
    taotaodaddy  
       2019-08-22 16:00:07 +08:00 via Android
    min max
    taotaodaddy
        5
    taotaodaddy  
       2019-08-22 16:01:06 +08:00 via Android
    不能 group by,哟可能败了
    taotaodaddy
        6
    taotaodaddy  
       2019-08-22 16:01:39 +08:00 via Android
    哟改为我
    stillyu
        7
    stillyu  
       2019-08-22 16:14:35 +08:00 via iPhone
    会员卡信息加个最后消费时间的字段?
    Renco
        8
    Renco  
    OP
       2019-08-22 16:17:55 +08:00
    @stillyu 如果是我 我就这么设计了,然而开发人员不能改设计啊可恶
    saulshao
        9
    saulshao  
       2019-08-22 18:01:19 +08:00
    如果不能 distinct 或者 group by,那也不建议 join。
    能用的办法就很有限了。
    1. 查出所有的会员,想点办法过滤掉一些肯定没消费的。或者每次只处理一定范围的会员记录。
    2. 根据会员去消费记录表查询需要的记录,在内存里排序并构造需要排序的结果
    3. 排序
    上述的步骤假设会员表肯定比消费记录表小,如果反之就倒过来写程序就行。长期来看应该是会员表更小才对.....
    conn4575
        10
    conn4575  
       2019-08-23 05:52:10 +08:00 via Android
    我更好奇为啥不让用 group by
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1114 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 18:41 · PVG 02:41 · LAX 10:41 · JFK 13:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.