我有一张桌子如下
年
2005年
2006年
等
本表中的主键为(年份、组织、名称)
我需要如下的输出
org
DEF - CAT1
DEF - CAT2
DEF - CAT3
美国广播公司- CAT1
美国广播公司- CAT2
美国广播公司- CAT3
评分为8000分,高于ABC评分6150分。因此,出现在预期输出的顶部。
我写了一个select语句,如下所示
从表中选择org、cat、count( cat ),其中year=2006按org分组,cat按org排序。
我得到由org排序的结果,但无法按每种类型org的点数总数的降序排序输出。
任何帮助都是非常感谢的。谢谢- Praveen
发布于 2011-02-17 05:30:41
使用一个联接单独对org分组,并获取每个组的所有计数的SUM:
SELECT t.org, t.cat, count(t.cat)
FROM table t JOIN (
SELECT org, count(cat) SumCount
FROM table
WHERE year=2006
GROUP BY org
) tg ON t.org = tg.org
WHERE t.year = 2006
GROUP BY t.org, t.cat
ORDER BY MAX(rs.SumCount), t.org DESC发布于 2011-02-17 05:27:09
在查询结束时使用desc关键字,这将帮助您解决问题。
https://stackoverflow.com/questions/5025344
复制相似问题