gpt4 book ai didi

MySQL:选择最后 X 行,然后选择特定行

转载 作者:太空宇宙 更新时间:2023-11-03 12:18:14 25 4
gpt4 key购买 nike

他是一个棘手的查询,除非我使用 PHP,否则我似乎无法理解 - 我想不惜一切代价避免。所以这就是我想要做的......

我有一个名为 invoices 的表。该表有一个名为 paid 的字段。发票已被视为已支付后,此字段会被勾选。现在,我有一个名为 Latest Invoices 的页面,其中显示了前 100 张发票(已付款和未付款)的巨大列表。

SELECT * FROM invoices ORDER BY id DESC, id LIMIT 100

显然效果很好。但是,我想通过添加一个条件来调整此声明,该条件还将包括在最后 100 张发票之后支付的任何发票。

换句话说:
- 前 100 张发票将显示已付/未付
- 然后任何未支付的发票将在之后(无限制)

干杯

最佳答案

您需要确定前 100 张发票。以下是使用 join 实现此目的的方法:

SELECT i.*
FROM invoices i left outer join
(select i.*
from invoices i
order by id desc
limit 100
) i100
on i.id = i100.id
WHERE i100.id is not null or i.paid = 0
ORDER BY id desc;

order by 仅使用 id。这会将前 100 个放在顶部。其余未支付的将按照相反的 id 顺序排列。

关于MySQL:选择最后 X 行,然后选择特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21171356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com