[英]SQL Query; how to display info only where the number of entries in one row is greater than the number of entries in another?
[英]SQL - Sqlite Query: obtain the fields where one number is greater than another, if less than 3 complete with the first, always 3
好吧,我查詢失敗了
我有這樣的桌子
_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行!
我希望你能幫助我,約翰
您有一個聰明的方法,但這是行不通的。 不能保證子查詢的順序。 您想要的是先根據自己的條件訂購,然后再填寫其余部分。 嘗試這個:
SELECT *
FROM table
ORDER BY (case when E1 > 633 AND _sentido = 'V' then 1 else 2 end)
LIMIT 3;
這會將您感興趣的記錄放在第一位。 limit 3
將檢索這些記錄(最多3條),然后用其余的記錄填充剩余的行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.