› 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 · 8364 views
    This topic created in 2586 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
    BacGa
    Oct 15, 2019
    1
    用 name 连表查询就行
    TimFire
    TimFire
    Oct 15, 2019
    2
    现在那么多孩子叫 zixuan 的,重名不考虑的啊?
    b821025551b
    b821025551b
    Oct 15, 2019
    3
    你这玩意,重名了咋办
    wangyzj
    wangyzj
    Oct 15, 2019
    4
    为啥不 join
    zclHIT
    zclHIT
    Oct 15, 2019
    5
    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
    BacGa
    Oct 15, 2019
    6
    用唯一 id 喽 class 里为了区分重名肯定存了 id
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2117 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 01:44 · PVG 09:44 · LAX 17:44 · JFK 20:44
    ♥ Do have faith in what you're doing.