有没有办法在mysql中设置启动或停止元素? 我想选择以id = 20开头的每个元素,并在level<时停止3第一次。
答案 0 :(得分:0)
在mysql中我认为在一个查询中很难做到, 我觉得你必须做一些像
这样的事情SELECT @ordernr = MIN(ordernr)
FROM ...
WHERE id = 20
AND level < 3
如果你有id = 20行:
ordernr level
1 34
2 23
3 88
4 2 <- it will return 4
5 12
6 22
7 2
然后使用结果:
SELECT ...
FROM ...
WHERE id = 20
AND ordernr <= @ordernr
它会回来 订单水平 1 34 2 23 3 88 4 2
答案 1 :(得分:0)
SQL不提供您要求的条件。简单地SELECT *并在代码中进行过滤可能是最简单的。
只要你没有ORDER BY或其他需要同时获取整个结果集的东西,这应该表现得相当好;在找到第一个level < 3
之后停止处理,然后永远不会获取其后的其他可能结果的数以万计。