SQL 分组统计并排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 分组统计并排序相关的知识,希望对你有一定的参考价值。

group
by语句必须和聚合函数一起使用.
select
c,max(d)
from
a
group
by
c
order
by
max(d)
desc
这样子可以.
因为一条select语句只可以返回一个结果集...
此句返回按c分组后并按每组中最大的d值进行排序.
参考技术A with
tmp
as
(select
row_number()
over(order
by
count(val))
as
rn,val,count(val)
as
cnum
from
table1
group
by
val)
select
*
from
tmp
where
rn<3
要想区别并列现象还要复杂一些,可能简单的语句解决不了
参考技术B select
top
2
val
from
(select
val,
count(1)
as
num
from
#table1
group
by
val)
as
table2
order
by
num
desc,val

sql将日期按照年月分组并统计数量

1 SELECT DATE_FORMAT(releaseDate,"%Y年%m月") AS dates,COUNT(*) FROM t_diary GROUP BY DATE_FORMAT(releaseDate,"%Y年%m月")
ORDER BY DATE_FORMAT(releaseDate,"%Y年%m月") DESC ;
DATE_FORMAT();按照格式对某个日期操作
ORDER BY 排序
DESC 降序




以上是关于SQL 分组统计并排序的主要内容,如果未能解决你的问题,请参考以下文章

mysql分组统计按照字段排序方法(分组之后保留最新时间最大id...)

c# datatable 分组并统计

ORACLE分组排序查询

2016/3/13 七种查询 (普通查询 条件查询 排序查询 模糊查询 统计查询 分组查询 分页查询 )

sql server——分组查询(方法和思想)

sql语句 按一列分组 然后再按别一列组内排序?