关于group by,求一条sql语句
表中两个字段ap1 ap2
比如: ap1 ap2
1 a b
2 a a
3 b a
我想group by的时候把不考虑a,b在ap1和ap2的顺序,把1和3分到一组怎么办?
------解决方案--------------------select decode(sign(ascii(ap1)-ascii(ap2)),-1,ap1||ap2,ap2||ap1) value,count(*) from test
group by ap1,ap2
比较和排序可以,不过最后结果是这样了
ab 1
ab 1
aa 1
------解决方案--------------------SELECT COUNT(*),ap1,ap2 FROM (SELECT
'ap1 '= 'A '
, 'ap2 '=
CASE WHEN CODE <> NAME THEN 'B '
ELSE 'A '
END
FROM #TEMP ) AS A GROUP BY ap1,ap2
------解决方案--------------------试试这个
select c1,c2,count(*)
from table where str(c1)+str(c2) like 'ab ' or str(c1)+str(c2) like 'ba '
group by c1,c2
你把相应的列名换成你自己的列,当然其中的字段内容你也得改一下.