gpt4 book ai didi

mysql - 无法从MySQL数据库中选择所需的数据

转载 作者:行者123 更新时间:2023-11-29 07:55:56 26 4
gpt4 key购买 nike

我从数据库中选择数据时遇到问题。

表格如下所示:

enter image description here所以我需要选择item_id哪里item_property_value_id是例如。 90、60 和 97

期望:

如果提供item_property_value_id是90和60和97,选择item_id应该是 8。
如果提供item_property_value_id是90和60,选择item_id应该是 8 和 9。

等等

我不知道该怎么做:/任何帮助将不胜感激。

已编辑

现在我有另一个问题。我需要item_property_value_id介于某些值之间。一切都与上面提到的相同,但现在item_property_value_id应该在范围内。

例如:提供item_property_value_id是 90 和 60 并且在 item_property_id 行中= 12 item_property_value_id应介于 1 到 5 之间

谢谢建议

最佳答案

这个:

  SELECT item_id 
FROM x
WHERE item_property_value_id IN (90,60,97)
GROUP BY item_id
HAVING COUNT(DISTINCT item_property_value_id)=3

还有这个:

  SELECT item_id 
FROM x
WHERE item_property_value_id IN (90,60)
GROUP BY item_id
HAVING COUNT(DISTINCT item_property_value_id)=2

分别。

后续更新:

假设每个 item_id 只能拥有每个 item_property_id 中的一个:

  SELECT item_id 
FROM x
GROUP BY item_id
HAVING SUM(item_property_id = a AND item_property_value_id BETWEEN a AND b)
= SUM(item_property_id = a) /* item_property_ids that are not required */
AND SUM(item_property_id = x AND item_property_value_id BETWEEN y AND z)
= 1 /* item_property_ids that are required */
AND SUM(item_property_id IN (1,2,3) AND item_property_value_id IN (5,6,7))
= 3 /* item_property_ids that are required
and have the same allowed values */

来自评论中的链接:

  SELECT item_id 
FROM x
GROUP BY item_id
HAVING SUM(item_property_id = 1 AND item_property_value_id = 90)
AND SUM(item_property_id = 2 AND item_property_value_id = 60)
AND SUM(item_property_id = 9 AND item_property_value_id BETWEEN 95 AND 99)

我猜测您的 2010-2014 item_property_value_ids,您需要加入 item_property_value_ids 表示的实际值才能正确使用它们。

关于mysql - 无法从MySQL数据库中选择所需的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25161864/

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