gpt4 book ai didi

mysql - 如果选择结果小于 10,如何更改条件

转载 作者:行者123 更新时间:2023-11-29 09:35:23 24 4
gpt4 key购买 nike

如果选择结果未达到限制,MySQL 是否可以更改条件语句?

下面的代码将仅选择主类别,它们的 cp.level 为 0 但如果它们只有 3 个类别,我如何将 cp.level 更改为 1 直到达到限制

SELECT DISTINCT
name, cd.category_id
FROM oc_category_description cd
LEFT JOIN oc_category_path cp ON (cd.category_id = cp.path_id)
WHERE name LIKE 'с%'
AND cp.level = 0 LIMIT 10

最佳答案

您可以过滤查询结果,使 cp.level 为 0 或 1,按 cp.level 排序,并将限制保留为 10。就像这样:

SELECT DISTINCT
name, cd.category_id
FROM oc_category_description cd
LEFT JOIN oc_category_path cp ON (cd.category_id = cp.path_id)
WHERE name LIKE 'с%'
AND cp.level in (0, 1) ORDER BY cp.level ASC
LIMIT 10

但是,如果您不确定它是否会达到级别 1 并且还想显示级别 2,则可以删除 cp.level = 0 并按 排序改为 ORDER BY cp.level ASC

如果您想更改根据计数过滤名称的值,就像您在评论中提到的那样,您可以执行以下操作:

WHERE (((subquery to get count) > 10 AND name LIKE 'с%') OR ((subquery to get count) < 10 AND name LIKE '%с'))

关于mysql - 如果选择结果小于 10,如何更改条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57757172/

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