我有一个表,看起来像这样的MySQL到PostgreSQL查询别名GROUP BY
id | number --------------- 1 56721 2 56722 3 43981 4 43982 5 43983 6 43984
我的MySQL查询看起来是这样的:
SELECT CASE substr(number,1,2) WHEN '56' then 'class1' WHEN '43' then 'class2' else 'other' END as class,
CASE substr(number,3,2) WHEN '72' then 'subclass1', WHEN '98' then 'subclass2' ELSE 'other' END as subclass, count(id) as ct
FROM table GROUP BY class, subclass HAVING class!='other' AND subclass!='other'
ORDER BY class ASC, subclass DESC;
,这是什么相应的PostgreSQL的查询?
对于你的答案PostgreSQL给我一个错误,像“列”table.number“必须出现在GROUP BY子句中或用于聚合函数” – 2013-03-21 14:02:46
@Revan你是否得到与当前答案或从以前的错误版?因为我不明白现在的情况会如何发生。 – 2013-03-21 15:10:26