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

MySQL 语句问题,请问有没有简便的写法

  •  
  •   sytnishizuiai · Sep 17, 2019 · 5422 views
    This topic created in 2565 days ago, the information mentioned may be changed or developed.

    https://s2.ax1x.com/2019/09/17/n5qvKx.png (顺便请教下如何发图,找到的发图帖子,教程图片失效了)

    我想查询同个 area 下,freight_1,freight_2,freight_3 各自的最小值及其 id。 3 条 sql 去获取很简单,但这个查询本身包含在 foreach 内(循环最大不超过 5 次),所以我想一条 sql 就查出,有这种办法吗?

    8 replies  •  2019-09-17 22:47:15 +08:00
    F281M6Dh8DXpD1g2
        1
    F281M6Dh8DXpD1g2  
       Sep 17, 2019
    最小值好办,用 mysql 没办法一条获取到 id,gg
    sytnishizuiai
        2
    sytnishizuiai  
    OP
       Sep 17, 2019
    @liprais 嗯 但是分 3 条拿的话,就是 5*3,一共 15 条 sql 了,有点多
    l00t
        3
    l00t  
       Sep 17, 2019   ❤️ 2
    就算是三条 sql,用 union all 拼一下也就是一条了,这也叫个事?
    JunoNin
        4
    JunoNin  
       Sep 17, 2019 via Android
    取三个字段里各自的最小值一条 SQL 没办法,发图可以用图床上传链接
    sytnishizuiai
        5
    sytnishizuiai  
    OP
       Sep 17, 2019
    @l00t 谢谢,没想到这方法
    sytnishizuiai
        6
    sytnishizuiai  
    OP
       Sep 17, 2019
    @JunoNin 我用的图传,不知道怎么上传。。。
    okhowang
        7
    okhowang  
       Sep 17, 2019   ❤️ 2
    select id,area,freght1 from table1 where freight_1 = (select min(freight_1) from table1 table2 where table2.area = table1.area)
    x3
    这样只用 3 条
    union 可以拿到 但程序还得处理才能知道哪些列是最小的
    如果不需要处理 直接 union 也可以
    sytnishizuiai
        8
    sytnishizuiai  
    OP
       Sep 17, 2019
    我直接 order by freight_1 limint 1 union all *3,代码更少点
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   930 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 19:01 · PVG 03:01 · LAX 12:01 · JFK 15:01
    ♥ Do have faith in what you're doing.