gpt4 book ai didi

mysql - 使用 WHERE IN 和 MIN 的子查询

转载 作者:行者123 更新时间:2023-11-29 12:47:51 24 4
gpt4 key购买 nike

我确实有一个像这样的数组:

$inQuery = (1, 2, 3,...)

我想从表组合中获取具有最低价格值的文章。我的查询:

SELECT  *
FROM portfolio p
WHERE p.article_id IN ($inQuery) = (
SELECT MIN(p.net_price)
FROM portfolio p);
AND p.state_id = (:state_id)

如何获得包含不同文章和最低价格的报名表作品集?

最佳答案

如果您在 net_price 上有索引(我假设您有,因为在 col 上没有索引,那么 Select MIN(p.net_price) 将扫描整个表,这不好),那么我认为您应该执行 2 个查询,这可能会更好使用索引:

1. $minPrice= Select MIN(net_price) from portfolio;

2. SELECT *
FROM portfolio p
WHERE p.article_id IN ($inQuery) AND net_price = $minPrice
AND p.state_id = (:state_id)

如果您有(net_price、state_id、article_id)的覆盖索引,那就太好了

关于mysql - 使用 WHERE IN 和 MIN 的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25205819/

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