select * from ( select 课程名称,sum(点击次数) as 点击次数 from 表名 group by 课程名称) as a order by 点击次数 asc
select * , px = (select count(1) from tb where 点击次数 < t.点击次数) + from tb t
select 课程名称,sum(点击次数) 点击次数 from tb group by 课程名称 order by 2 desc这样子?
create table tb(课程名称 varchar(10) , 点击次数 int) insert into tb values('项目管理' , 10) insert into tb values('项目策划' , 11) insert into tb values('项目实施' , 9 ) goselect * , px = (select count(1) from tb where 点击次数 > t.点击次数) + 1 from tb t order by t.pxdrop table tb/* 课程名称 点击次数 px ---------- ----------- ----------- 项目策划 11 1 项目管理 10 2 项目实施 9 3(所影响的行数为 3 行) */
--如果考虑课程重复,得先group by 分组.create table tb(课程名称 varchar(10) , 点击次数 int) insert into tb values('项目管理' , 10) insert into tb values('项目策划' , 11) insert into tb values('项目实施' , 9 ) insert into tb values('项目实施' , 9 ) -- 增加测试数据 go --显示测试数据 select * from tb /* 课程名称 点击次数 ---------- ----------- 项目管理 10 项目策划 11 项目实施 9 项目实施 9(所影响的行数为 4 行) */--排序 select * , px = (select count(1) from ( select 课程名称 , 点击次数 = sum(点击次数) from tb group by 课程名称 ) n where 点击次数 > m.点击次数) + 1 from ( select 课程名称 , 点击次数 = sum(点击次数) from tb group by 课程名称 ) m order by m.px /* 课程名称 点击次数 px ---------- ----------- ----------- 项目实施 18 1 项目策划 11 2 项目管理 10 3(所影响的行数为 3 行) */drop table tb
select 课程名称,Sum(点击次数) AS 点击次数 from tb Group By 课程名称 Order By 点击次数 Desc
create table tb(课程名称 varchar(10) , 点击次数 int) insert into tb values('项目管理' , 10) insert into tb values('项目策划' , 11) insert into tb values('项目实施' , 9 ) insert into tb values('项目实施' , 9 ) go select * from (select 课程名称,sum(点击次数) as 点击次数 from tb group by 课程名称)b order by 点击次数 drop table tb/*\ 课程名称 点击次数 ---------- ----------- 项目管理 10 项目策划 11 项目实施 18(所影响的行数为 3 行)*/
create table tb(课程名称 varchar(10) , 点击次数 int) insert into tb values('项目管理' , 10) insert into tb values('项目策划' , 11) insert into tb values('项目实施' , 9 ) insert into tb values('项目实施' , 9 ) select 课程名称,点击次数=sum(点击次数) from tb group by 课程名称 order by sum(点击次数) desc课程名称 点击次数 ---------- ----------- 项目实施 18 项目策划 11 项目管理 10(3 行受影响)
--2005select * from tab order by row_number() over(order by 点击次数)
CREATE TABLE tbTest(课程名称 VARCHAR(10), 点击次数 INT)GOINSERT INTO tbTest VALUES(N'项目管理', 10)GOINSERT INTO tbTest VALUES(N'项目策划', 11)GOINSERT INTO tbTest VALUES(N'项目实施', 9)GOINSERT INTO tbTest VALUES(N'项目实施', 13)GOSELECT 课程名称, 点击次数 = MAX(点击次数) FROM tbTest GROUP BY 课程名称 ORDER BY 点击次数 DESCGO
不就个排序吗!zhe me fu za zhi yu ma select * from tb order by 点击次数 desc
就是啊,仅仅是排序,有那么复杂吗 select B.* from (SELECT 课程名称,SUM(点击次数) AS 点击量 FROM 表名 GROUP BY 课程名称) B ORDER BY B.点击量 DESC
select 课程名称,sum(点击次数) as 点击次数 from 表名 group by 课程名称) as a
order by 点击次数 asc
select * , px = (select count(1) from tb where 点击次数 < t.点击次数) + from tb t
from tb
group by 课程名称
order by 2 desc这样子?
insert into tb values('项目管理' , 10)
insert into tb values('项目策划' , 11)
insert into tb values('项目实施' , 9 )
goselect * , px = (select count(1) from tb where 点击次数 > t.点击次数) + 1 from tb t order by t.pxdrop table tb/*
课程名称 点击次数 px
---------- ----------- -----------
项目策划 11 1
项目管理 10 2
项目实施 9 3(所影响的行数为 3 行)
*/
insert into tb values('项目管理' , 10)
insert into tb values('项目策划' , 11)
insert into tb values('项目实施' , 9 )
insert into tb values('项目实施' , 9 ) -- 增加测试数据
go
--显示测试数据
select * from tb
/*
课程名称 点击次数
---------- -----------
项目管理 10
项目策划 11
项目实施 9
项目实施 9(所影响的行数为 4 行)
*/--排序
select * , px = (select count(1) from
(
select 课程名称 , 点击次数 = sum(点击次数) from tb group by 课程名称
) n where 点击次数 > m.点击次数) + 1
from
(
select 课程名称 , 点击次数 = sum(点击次数) from tb group by 课程名称
) m
order by m.px
/*
课程名称 点击次数 px
---------- ----------- -----------
项目实施 18 1
项目策划 11 2
项目管理 10 3(所影响的行数为 3 行)
*/drop table tb
insert into tb values('项目管理' , 10)
insert into tb values('项目策划' , 11)
insert into tb values('项目实施' , 9 )
insert into tb values('项目实施' , 9 )
go
select *
from (select 课程名称,sum(点击次数) as 点击次数 from tb group by 课程名称)b
order by 点击次数
drop table tb/*\
课程名称 点击次数
---------- -----------
项目管理 10
项目策划 11
项目实施 18(所影响的行数为 3 行)*/
create table tb(课程名称 varchar(10) , 点击次数 int)
insert into tb values('项目管理' , 10)
insert into tb values('项目策划' , 11)
insert into tb values('项目实施' , 9 )
insert into tb values('项目实施' , 9 )
select 课程名称,点击次数=sum(点击次数) from tb group by 课程名称 order by sum(点击次数) desc课程名称 点击次数
---------- -----------
项目实施 18
项目策划 11
项目管理 10(3 行受影响)
order by row_number() over(order by 点击次数)
CREATE TABLE tbTest(课程名称 VARCHAR(10), 点击次数 INT)GOINSERT INTO tbTest VALUES(N'项目管理', 10)GOINSERT INTO tbTest VALUES(N'项目策划', 11)GOINSERT INTO tbTest VALUES(N'项目实施', 9)GOINSERT INTO tbTest VALUES(N'项目实施', 13)GOSELECT 课程名称, 点击次数 = MAX(点击次数) FROM tbTest GROUP BY 课程名称 ORDER BY 点击次数 DESCGO
select * from tb order by 点击次数 desc
select B.* from
(SELECT 课程名称,SUM(点击次数) AS 点击量 FROM 表名 GROUP BY 课程名称) B
ORDER BY B.点击量 DESC