好吧,我做了一个不起作用的查询
我有一张像这样的桌子
_id-E1
-----------
1-100
2-335
3-420
4-440
5-500
6-514
7-524
8-534
9-544
10-552
11-559
12-607
13-615
14-623
15-631
16-639
以及我提出的问题:
SELECT * FROM
(SELECT * FROM Table WHERE E1 > 633 AND _sentido = 'V'
UNION
SELECT * FROM Table) LIMIT 3
当我执行这个时,我得到
_id-E1
-----------
1-100
2-335
3-420
但我真正想要的是
_id-E1
-----------
1-639
2-100
3-335
如果最后一行并且没有3个选定的行,则完成第一行到达3个
总是3排!
我希望你能帮助我,John
您有一个聪明的方法,但它不会起作用。不保证子查询的顺序。你想要的是先根据你的情况订购,然后填写其余的。试试这个:
SELECT *
FROM table
ORDER BY (case when E1 > 633 AND _sentido = 'V' then 1 else 2 end)
LIMIT 3;
这会把你感兴趣的唱片放在第一位。limit 3
将检索这些记录(最多3条),然后用其余记录填充其余行。