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

mysql 三个表做联表查询

  •  
  •   hotReady · Apr 3, 2018 · 4180 views
    This topic created in 3097 days ago, the information mentioned may be changed or developed.

    本来用 phalcon 框架两个 leftJoin 能解决的问题,突然改了需求,现在有三个表,联表查询的过程中,第三个表只要符合要求的最新的“一条”数据。单独查一个表最新的一条数据,order by 修改时间然后 limit = 1,联表查询怎么处理这第三个表呢?

    Supplement 1  ·  May 2, 2018
    忘记更新了,问题已经解决了,用了很多 mysql 函数,GREATEST,IFNULL,SUBSTRING_INDEX,GROUP_CONCAT,最终能查询出想要的结果,但是由于是公司项目,函数太多影响性能,后来就把表结构大改了一下,查两个表就行了。
    2 replies  •  2018-04-03 11:55:13 +08:00
    doggg
        1
    doggg  
       Apr 3, 2018 via Android
    昨天也遇到了诶。使用 max(最新 id 或者 create_time) group by
    breadenglish
        2
    breadenglish  
       Apr 3, 2018
    select 表 3.* from 表 3, (select max(create_time) as max_create_time, 分组 ID from 表 3 group by 分组 ID) as 表 3 副本 where 表 3.create_time=表 3 副本.max_create_time and 表 3.分组 ID=表 3 副本.分组 ID
    注意可能有多条条最近记录。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2559 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:49 · PVG 20:49 · LAX 05:49 · JFK 08:49
    ♥ Do have faith in what you're doing.