查询中 ORDER BY 和 GROUP BY 能不能同时用
发布网友
发布时间:2022-05-20 12:50
我来回答
共1个回答
热心网友
时间:2023-10-21 01:31
group
by要指定聚合函数,没有就错误;
你是不是想made重复只显示一个,如果是你可以用:
set
rsclass=conn.execute("select
distinct
made
from
news")
/*在这里没有用order
by
id
desc
,因为你要在select里指定id字段,但id是唯一的,made是重复的,如果指要加order
by
id
desc可以,不会发生错误,只是没有消除重复的功能*/
如果一定要id按降序排列(不是按made,如果按made就简单了)就会降低效率,原理:建一个临时表,然后对它进行降序(条件:原表要对id聚集索引;我不建议对索引用降序,因为在频繁插入数据会付出太大代价),
存储过程:
create
procere
a
as
declare
@newt
table(
[id]
int
identity(1,1),
made
varchar(50)
)
insert
@newt(made)
select
distinct
made
from
news
select
*
from
@newt
order
by
[id]
desc
//////////
set
rsclass=conn.execute("exec
a")