gpt4 book ai didi

SQL:是否可以根据 'group by'函数的结果来 'like'?

转载 作者:行者123 更新时间:2023-12-04 03:30:58 26 4
gpt4 key购买 nike

我正在使用Oracle SQL,并且想对一些“喜欢”函数结果的不同行进行分组。举例说明:

假设我有一个表MESA,其中的一列是一个巨大的字符串。我正在计算与特定模式匹配的行数:

SELECT m.str, count(*)
FROM MESA m
WHERE m.str LIKE '%FRUIT%'
AND (m.str LIKE '%APPLE%' OR m.str LIKE '%ORANGE%')

因此,假设此查询的结果为:

水果..afsafafasfa ... RED_APPLE 20

水果..afsafafasfa ... YELLOW_APPLE 12

水果..afsafafasfa ... GREEN_APPLE 3

水果..afsafafasfa ... PURPLE_ORANGE 4

水果..afsafafasfa ...红色_橙色45

但我希望我的结果是:

苹果35

橙色49

这可能吗?如果是这样,怎么办? :)

注释和代码段倍受赞赏。

PS:当然,查询和结果比上面的示例更复杂。我只是为了简化解释而写它。

干杯..

最佳答案

当然:

WITH Fruits AS (
SELECT
CASE
WHEN m.str LIKE '%APPLE%' THEN 'Apple'
WHEN m.str LIKE '%ORANGE%' THEN 'Orange'
END AS FruitType
FROM MESA m
WHERE m.str LIKE '%FRUIT%')
SELECT FruitType, COUNT(*)
FROM Fruits
WHERE FruitType IN ('Apple', 'Orange')
GROUP BY FruitType;

关于SQL:是否可以根据 'group by'函数的结果来 'like'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3299330/

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