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

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

  •  
  •   sytnishizuiai · 2019-09-17 18:27:20 +08:00 · 4331 次点击
    这是一个创建于 1654 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    8 条回复    2019-09-17 22:47:15 +08:00
    liprais
        1
    liprais  
       2019-09-17 18:33:34 +08:00
    最小值好办,用 mysql 没办法一条获取到 id,gg
    sytnishizuiai
        2
    sytnishizuiai  
    OP
       2019-09-17 18:35:26 +08:00
    @liprais 嗯 但是分 3 条拿的话,就是 5*3,一共 15 条 sql 了,有点多
    l00t
        3
    l00t  
       2019-09-17 18:37:00 +08:00   ❤️ 2
    就算是三条 sql,用 union all 拼一下也就是一条了,这也叫个事?
    JunoNin
        4
    JunoNin  
       2019-09-17 18:42:54 +08:00 via Android
    取三个字段里各自的最小值一条 SQL 没办法,发图可以用图床上传链接
    sytnishizuiai
        5
    sytnishizuiai  
    OP
       2019-09-17 18:45:03 +08:00
    @l00t 谢谢,没想到这方法
    sytnishizuiai
        6
    sytnishizuiai  
    OP
       2019-09-17 18:45:27 +08:00
    @JunoNin 我用的图传,不知道怎么上传。。。
    okhowang
        7
    okhowang  
       2019-09-17 19:18:10 +08:00   ❤️ 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
       2019-09-17 22:47:15 +08:00
    我直接 order by freight_1 limint 1 union all *3,代码更少点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5223 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:20 · PVG 15:20 · LAX 00:20 · JFK 03:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.