我正在使用Oracle SQL,我想将“喜欢”函数结果的一些不同的行分组。为了用一个例子说明一下:SQL:根据'like'函数的结果是否可以'按'分组?
假设我有一个表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
水果..afsafafasfa ... YELLOW_APPLE 12
FRUIT..afsafafasfa ... GREEN_APPLE 3
FRUIT..afsafafasfa ... PURPLE_ORANGE 4
FRUIT..afsafafasfa ... RED_ORANGE 45
但我想我的结果是:
APPLE 35
ORANGE 49
这可能吗?如果是这样,怎么会这样? :)
评论和代码片断非常感谢。
PS:当然查询和结果比上面的例子更复杂。我只是为了简单起见而写它来解释。
干杯..
这样的字符串如何处理:'FRUIT..afsafafasfa ... ORANGE_APPLE“?;) – ThinkJet 2010-07-21 12:56:04
是的,这是一个很好的评论。对我而言,这样的字符串不太可能。我想这取决于案件的顺序。 – someone 2010-07-21 13:08:31