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

mysql 二次查询并合并结果集

  •  
  •   meinjoy · Oct 15, 2019 · 8195 views
    This topic created in 2537 days ago, the information mentioned may be changed or developed.

    第一个表 class 中随机获取 5 组数据 SELECT name,age FROM class , (SELECT ((1/COUNT(*))*100) as n FROM class) as x WHERE RAND()<=x.n ORDER BY RAND() LIMIT 5;

    | name | age |

    然后再用 class 表中的值 name 从第二表 score 中查询结果 select * from score where name=name

    math | eng|

    有没有办法合并成一句 sql 语句并把结果合并成

    | name | age | math | eng|

    6 replies  •  2019-10-15 19:12:10 +08:00
    BacGa
        1
    BacGa  
       Oct 15, 2019
    用 name 连表查询就行
    TimFire
        2
    TimFire  
       Oct 15, 2019
    现在那么多孩子叫 zixuan 的,重名不考虑的啊?
    b821025551b
        3
    b821025551b  
       Oct 15, 2019
    你这玩意,重名了咋办
    wangyzj
        4
    wangyzj  
       Oct 15, 2019
    为啥不 join
    zclHIT
        5
    zclHIT  
       Oct 15, 2019
    Select c.name, c.age, s.math, s.eng, (select ((1/COUNT(*))*100) as n) as x from class c inner join score on c.name = s.name where rand()<=x.n order by rand() lmiit 5;
    1. 名字不会重复吗?
    2.这个随机的逻辑有点复杂吧
    BacGa
        6
    BacGa  
       Oct 15, 2019
    用唯一 id 喽 class 里为了区分重名肯定存了 id
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1032 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 23:34 · PVG 07:34 · LAX 16:34 · JFK 19:34
    ♥ Do have faith in what you're doing.