假设我的数据库中有1000行,而我想显示950行。
我要显示的行应该是前950行而不是后50行。那么如何保护后50行呢?
有点像此查询,但我想从ASC开始,从开头而不是从结尾选择行。

$tab= mysqli_query($con, "SELECT id,title,url FROM users ORDER by id DESC limit 50,950");


我需要的是1000行中的1,2,4,5 ... 950(没有最后的$ limit行)。我将根据需要更改$ 950的限额。

谢谢。

最佳答案

MySQL确实在LIMIT中允许使用DELETE。但是,我不认为这可以抵消。通过颠倒顺序很容易处理:

DELETE u
    FROM users u
    ORDER BY id ASC
    LIMIT 950;


您也可以直接结合原始查询来编写以下代码:

DELETE u
    FROM users u JOIN
         (SELECT u2.*
          FROM users u2
          ORDER BY u2.id DESC
          LIMIT 50, 950
         ) todelete
         ON u.id = todelete.id;

关于php - 没有最后50行的mysql SELECT ASC,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39305909/

10-10 19:07