如何在sql中查询某个字段不同值分别取一定数量.
SELECT * FROM `表名` WHERE 类型="甲" ORDER BY rand() limit 0,3;
SELECT * FROM `表名` WHERE 类型="乙" ORDER BY rand() limit 0,1;
我想要的就是 取4条记录出来,其中 类型=甲有3条 类型=乙有1条
如何用一条sql语句执行.
望高手给出结果,
[解决办法]
select top 3 * from tracy where AZWZ='1330采面'union allselect top 1* from tracy where AZWZ='223水仓'/*AZWZ PJZ ZDZ BCSJ1330采面 0.33 0.34 2010-01-01 00:00:00.0001330采面 0.33 0.34 2010-01-01 00:05:00.0001330采面 0.33 0.34 2010-01-01 00:00:00.000223水仓 0.33 0.34 2010-01-01 00:00:00.000*/感觉不用union all一条语句实现有难度
[解决办法]
(SELECT * FROM `表名` WHERE 类型="甲" ORDER BY rand() limit 0,3)union all(SELECT * FROM `表名` WHERE 类型="乙" ORDER BY rand() limit 0,1);