【发布时间】:2011-03-18 23:29:51
【问题描述】:
我正在使用 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%')
所以我们假设这个查询的结果是:
FRUIT..afsafafasfa...RED_APPLE 20
FRUIT..afsafafasfa...YELLOW_APPLE 12
FRUIT..afsafafasfa...GREEN_APPLE 3
FRUIT..afsafafasfa...PURPLE_ORANGE 4
FRUIT..afsafafasfa...RED_ORANGE 45
但我希望我的结果是:
苹果 35
橙色 49
这可能吗?如果是这样,怎么会? :)
非常感谢评论和代码sn-ps。
PS:当然查询和结果比上面的例子复杂。为了方便解释,我就这么写了。
干杯..
【问题讨论】:
-
这样的字符串怎么样:'FRUIT..afsafafasfa...ORANGE_APPLE"?;)
-
是的,这句话很好。就我而言,不太可能有这样的字符串。我想这取决于案件的顺序。
标签: sql oracle group-by grouping sql-like