我想查询我的数据库,这样我就不会按排序按顺序排序,而是在给定字段与0首先不同时查找行如果没有带字段的行,则获取按排序>!“0”。实现这一目标的最佳方法是什么,甚至可以这样做?
假设该字段的值可以是-100到0到100
举例:
考虑 LIMIT 等于3且考虑的字段为 field1
FIELD1
10
0
-20
-40
另一组:
FIELD1
0
0
-100
50
在第一组中,提取的结果将 10,-20和-40 (按任意顺序),而在第二组中,它们应为 -100,50和0 (任何零,任何顺序)。 首先,我想检查数据库中是否存在!= 0,如果 true 提取这些,并且仅在0之后提取,直到我填写 LIMIT
答案 0 :(得分:0)
I want to query my database so that I don't order by or order by desc but instead seek rows when a given field is different from 0
向我寻找行意味着找到所有不是0的行。
only after get others ordered by if there are no rows with field != "0".
对我而言,这意味着在子查询中对行进行排序,其中字段不为0.
考虑到这一点可能是这个查询?
SELECT * FROM table t
WHERE field IN (
SELECT field
from table t
WHERE field <> 0
ORDER BY field
)
没有数据目前尚不清楚你想要什么。但我觉得这样的事情就是你要问的......你也可以试试
SELECT * FROM table t
WHERE field <> 0
ORDER BY field