gpt4 book ai didi

php - 限制子查询的偏移量

转载 作者:行者123 更新时间:2023-11-30 00:45:17 25 4
gpt4 key购买 nike

我正在尝试构建一个 mysql 查询,它可以让我搜索受子查询(大小)约束的产品,并具有允许在网站上分页的偏移量。

网址可能如下所示:

http://www.[webshop].com?category=shirts&size=m&page=2

以下查询仅在偏移量为 0 时有效(例如 page=0)

$limit = 50;
$offset = $page * 50;

SELECT *
FROM ((SELECT * FROM sales WHERE sale_id IN (SELECT sales_sizes.sale_id FROM sales_sizes WHERE sales_sizes.size = '.$size.') '.$search_string.' ORDER BY created_at DESC LIMIT '.$limit.' OFFSET '.$offset.') s)
LEFT JOIN sales_sizes ss ON s.sale_id = ss.sale_id
LEFT JOIN sales_images si ON s.sale_id = si.sale_id
LEFT JOIN sales_prices sp ON s.sale_id = sp.sale_id

在这种情况下,您将如何实现限制抵消?

它必须有子查询约束,这样我就可以返回特定大小的产品。

最佳答案

$limit = 50;
$offset = $page * 50;

SELECT *
FROM sales s
INNER JOIN sales_sizes ss ON s.sale_id = ss.sale_id
LEFT JOIN sales_images si ON s.sale_id = si.sale_id
LEFT JOIN sales_prices sp ON s.sale_id = sp.sale_id
WHERE ss.size = '.$size.'
ORDER BY ss.created_at DESC
LIMIT '.$limit.' OFFSET '.$offset.'

LIMIT 子句有 2 种语法:

LIMIT {[offset,] row_count | row_count OFFSET offset}

包含您使用的第二种语法是为了与 PostgreSQL 兼容。可以尝试第一个,以防发生奇怪的事情,但文档说没问题!

关于php - 限制子查询的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21428990/

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