查询随机2个男的和随机两个女的 并输出。求SQL

SQL查询代码

$db->query("SELECT * FROM "USER" WHERE sex=1 ORDER BY RAND()DESC LIMIT 2");
上面查询USER数据库SEX为男的信息 随机展示两条
$db->query("SELECT * FROM "USER" WHERE sex=2 ORDER BY RAND()DESC LIMIT 2");
上面查询USER数据库SEX为女的信息 随机展示两条

我想合并这两条查询为一条。
查询随机2个男的和随机两个女的 并输出。求SQL

1:代码如下图

$db->query("
select * from (select * from USER where `sex` =1 ORDER BY RAND()DESC LIMIT 2) as A
union
select * from (select * from USER where `sex` =2 ORDER BY RAND()DESC LIMIT 2) as B
");

2:逻辑
本质上就是使用union连接两个结果集,由于两个结果集中都有排序,因此借助临时表

3:在工具中有测试校验过,如下图

img