我需要获得这些结果
id details
-----------------
6 I am old car
7 I am old car
8 I am old car
9 I am old car
10 I am old car
6 I am New car
7 I am New car
8 I am New car
9 I am New car
10 I am New car
我使用MySQL查询
SELECT Cars.details FROM Cars WHERE Old = 'Old'
LIMIT 5, 5
UNION
SELECT Cars.details FROM Cars WHERE New = 'New'
LIMIT 5, 5
但我只得到新车的结果。
结果从1-5开始 是否有可能在这两组中以五人一组的形式获得所需的结果
是否有可能拆分查询LIMIT但保留在一个查询中?
答案 0 :(得分:1)
mysql> drop table if exists Cars;
Query OK, 0 rows affected (0.21 sec)
mysql> create table Cars (id int , details varchar(20),old varchar(3), new varchar(3));
Query OK, 0 rows affected (0.38 sec)
mysql> insert into Cars values
-> ( 6 , 'I am old car','old', null),
-> (7 , 'I am old car','old', null),
-> (8 , 'I am old car','old', null),
-> (9 , 'I am old car','old', null),
-> (10 , 'I am old car','old', null),
-> ( 6 , 'I am New car',null, 'new'),
-> ( 7 , 'I am New car',null, 'new'),
-> (8 , 'I am New car',null, 'new'),
-> ( 9 , 'I am New car',null, 'new'),
-> (10 , 'I am New car',null, 'new');
Query OK, 10 rows affected (0.22 sec)
Records: 10 Duplicates: 0 Warnings: 0
mysql>
mysql> select * from
-> (
-> SELECT Cars.details FROM Cars WHERE Old = 'Old'
-> LIMIT 0, 5
-> ) a
-> UNION all
-> (
-> SELECT Cars.details FROM Cars WHERE New = 'New'
-> LIMIT 0, 5
-> )
-> ;
+--------------+
| details |
+--------------+
| I am old car |
| I am old car |
| I am old car |
| I am old car |
| I am old car |
| I am New car |
| I am New car |
| I am New car |
| I am New car |
| I am New car |
+--------------+
10 rows in set (0.03 sec)