当前位置:首页 » 编程语言 » sql分组并组内排序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql分组并组内排序

发布时间: 2023-04-05 04:24:31

sql 分组内排序

就用select * from table1 order by 字段1,字段2就行了
第一个字段会按分组排好

⑵ SQL 分组统计并排序

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
要想区别并列现象还要复杂一些,可能简单的语句解决不了

⑶ sql 同一个字段先分组再排序

您好,您这样:
Create Table zxt_tes1
(
Id Number,
Name Varchar2(10),
Type Char(1)
)Nologging

Insert Into zxt_tes1 Values(001, 'ssss', 'A');
Insert Into zxt_tes1 Values(002, 'dddd', 'A');
Insert Into zxt_tes1 Values(001, 'aaaa', 'B');
Insert Into zxt_tes1 Values(002, 'dddd', 'B');
Insert Into zxt_tes1 Values(001, 'cccc', 'C');
Insert Into zxt_tes1 Values(002, 'eeee', 'C');

commit;

SQL> Select * From zxt_tes1
2 ;

ID NAME TYPE
---------- ---------- ----
1 ssss A
2 dddd A
1 aaaa B
2 dddd B
1 cccc C
2 eeee C

6 rows selected

---
sql如下:

SQL> Select t.*,row_number() over ( Partition By t.Id Order By t.Name) From zxt_tes1 t;

ID NAME TYPE ROW_NUMBER()OVER(PARTITIONBYT.
---------- ---------- ---- ------------------------------
1 aaaa B 1
1 cccc C 2
1 ssss A 3
2 dddd A 1
2 dddd B 2
2 eeee C 3

6 rows selected

⑷ SQL如何对分组后的结果进行排序并且取前几名

SQL取分组中的前几名

[sql] www.2cto.com
create table #aa(class varchar(10),name varchar(10),lang int,math int)
go

insert into #aa
select '1','a1',60,70
union all
select '1','a2',80,70
union all
select '1','a3',90,70
union all
select '1','a4',50,70
go

insert into #aa
select '2','b1',60,70
union all
select '2','b2',90,90
union all
select '2','b3',90,70
union all
select '2','b4',50,70

go

select * from #aa

--取每年级前一名的成级
select * from
(select ROW_NUMBER() over(partition by class order by lang+math desc) rr, * from #aa ) a
where rr<2
--取每年级前二名的成级
select * from
(select ROW_NUMBER() over(partition by class order by lang+math desc) rr, * from #aa ) a
where rr<3

⑸ sql 如何分组排序同时进行

1.
sql 分组关键字
group by
2.
排序关键字order
by
3.
假如定含档义一个表,如name,count
字段
4.
其中name
为字符串类型,count
为int
类型
5.
sql
如下:仔扮
6.
select
name,sum(谈戚乱count)
from
table
7.
group
by
name
8.
order
by
name
asc
9.
order
by
可以按降序或升序,asc
代表升序,desc 代表降序

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

sql 按 group 单纯的对unitname 分组查询后 是 "统计数据" ,不存在组内情况,并不会带有 voucherID,不能排序,对 voucherID 的排序也是无意义。

或者说你按 unitname、voucherID 俩个分组,然后 按voucherID 排序,这个是可以实现的。

⑺ 在SQL语句中,分组用什么子句,排序用什么子句

排序采用ORDER BY语句:ORDER BY 语句用于根据指定的列对结果集进行排序。ORDER BY 语句默认按照升序对记录行排序。如果希望按照降序对记录进行排序,可以使用 DESC关键字。

SQL有两种使用方式:

一是联机交互使用,这种方式下的SQL实际上是作为自含型语言使用的。

另一种方式是嵌入到某种高级程序设计语言(如C语言等)中去使用。前一种方式适合于非计算机专业人员使用,后一种方式适合于专业计算机人员使用。尽管使用方式不向,但所用语言的语法结构基本上是一致的。

(7)sql分组并组内排序扩展阅读:

以同一种语法结构提供两种使用方式:

SQL既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接输入SQL命令对数据库进行操作。作为嵌入式语言,SQL语句能够嵌入到高级语言(如C、 C#、JAVA)程序中,供程序员设计程序时使用。

而在两种不同的使用方式下,SQL的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的操作方式,为用户提供了极大的灵活性与方便性。

⑻ SQL如何对分组后运算出来的结果进行排序

提供两种方案,第一种是降序
select sno,avg(grade) 'nihao' from sc
group by sno order by 'nihao' desc
第二种是升序
select sno,avg(grade) 'nihao' from sc
group by sno order by 'nihao' asc

其中‘nihao’表示avg(grade)这个列的别名

⑼ SQL 分组统计并排序

group
by语句必须和聚合函数一起使用.
select
c,max(d)
from
a
group
by
c
order
by
max(d)
desc
这样子可以.
因为一条select语句只可以返回一个结果集...
此句返回按c分组后并按每组中最大的d值进行排序.

⑽ sql 如何分组排序同时进行

1、首先输入代码:

SELECT * FROM (select * from CJ where Gender='女') m

where( select COUNT(*) from (select * from CJ where Gender='女') n

where m.Classid = n.Classid and n.English > m.English)<2

order by Classid, English desc

2、然后再输入代码:

SELECT * FROM CJ m

where(

select COUNT(*) from CJ n

where m.Classid = n.Classid and n.English > m.English and n.Gender='女')<2 --指的是内表

and Gender='女' --指的是外表

order by Classid, English desc