关于sqlite偏移 - 我不明白的是什么?

时间:2016-04-27 19:01:37

标签: select sqlite offset

如果选中SELECT sqlite子句:https://www.sqlite.org/lang_select.html

您将看到OFFSET要求EXPR。从数据库查询中获取正确的结果。 当我去检查什么是EXPR时。 (请参阅:https://www.sqlite.org/syntax/expr.html)我理论上看到应该有一种方法来表示偏移后的函数。举个例子:

select * from my_table limit 50 offset count(id);

计数函数会给你数值,但我们知道这是不可能的。所以我的问题是:有没有办法添加函数来抵消,或者我是否以错误的方式从链接中读取内容?

2 个答案:

答案 0 :(得分:1)

可以使用LIMIT / OFFSET表达式中的函数:

<form class="form-inline" role="form" action="assets/subscribe.php" method="post">                                              
    <div class="form-group">
        <label class="sr-only" for="subscribe-email">Email address</label>
        <input type="text" name="email" placeholder="Enter your email..." class="subscribe-email form-control" id="subscribe-email">
    </div>
    <button type="submit" class="btn">Receive your free eBook</button>
    <br>
    <div class="checkbox">
        <label>
            <input type="checkbox" class="checked"> Receive Our Monthly Newsletter
        </label>
    </div>                                             
</form>
<div class="success-message"></div>
<div class="error-message"></div>

SELECT 42 LIMIT length('x') OFFSET round(0.123); 函数在这里不起作用,因为它是一个聚合函数,在OFFSET子句中,没有可以应用它的表或组。

答案 1 :(得分:-1)

它一般不起作用。您必须在额外查询中选择您的计数(id)。

如需更多帮助,请点击此处: Sqlite LIMIT / OFFSET query