SQL 分组统计并排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 分组统计并排序相关的知识,希望对你有一定的参考价值。
groupby语句必须和聚合函数一起使用.
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...)