GROUP BY中的SQL ORDER BY总计

时间:2010-02-10 15:23:51

标签: sql

我听取了构建SQL语句的一些帮助。目前我有以下内容:

SELECT a, b, count(1)
 FROM table
GROUP BY a, b
ORDER BY a asc, count(1) DESC

每一行显示每个分组a中所有唯一B的总和,并按字母顺序排序,然后按B的最高出现次数排序到最低。我真正想要的是能够按A的每个分组中的总数进行排序(将每一行视为小计)。

1 个答案:

答案 0 :(得分:4)

SELECT  a, b, COUNT(*) AS bcnt,
        (
        SELECT  COUNT(*)
        FROM    mytable mi
        WHERE   mi.a = mo.a
        ) AS acnt
FROM    mytable mo
GROUP BY
        a, b
ORDER BY
        acnt DESC, bcnt DESC