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

sqlserver2005分组

发布时间: 2022-05-28 21:35:58

sql server 数据库中,如何将分组后元素用逗号隔开并作为一条记录

创建表及数据

createtablet1
(midint,
uidvarchar(1))
insertintot1values(1,'a')
insertintot1values(1,'b')
insertintot1values(1,'b')
insertintot1values(1,'c')
insertintot1values(1,'d')
insertintot1values(2,'a')
insertintot1values(2,'b')
insertintot1values(2,'c')
insertintot1values(2,'c')
insertintot1values(3,'a')
insertintot1values(3,'b')
insertintot1values(3,'c')
insertintot1values(3,'c')

执行

selectmid,items=stuff((select','+uidfrom(selectdistinctmid,uidfromt1)twheremid=s.midforxmlpath('')),1,1,'')
from(selectdistinctmid,uidfromt1)s
groupbymid

结果

② sql server 2005 中怎样将查询出的数据分组显示

select 列名(要显示的列名或者“*”) from 表名 group by 列名(依据此列名来分组)

③ SQL sever2005中创建分组视图直接在管理工具下操作 怎么设置分组的条件

create view S_G(Sno,Gavg)
as
select Sno,avg(Grade)
from SC
where Sno='你的条件'
group by Sno

④ sql中,按照某个字段的内容进行分组,并在组内加序号

sqlserver2005及以上版本
SELECT
ROW_NUMBER()
OVER(PARTITION
BY
种类
ORDER
BY
种类)
AS
序号,*
FROM

⑤ sql 语句 分组生成数据

create table test
(bj varchar(10),xh varchar(10),id int)
insert test (bj,id) select
'02',1 union select
'02',2 union select
'03',3 union select
'03',4 union select
'03',5
go
--显示
--sql server2000的做法(子查询)
select bj,xh=bj+right('00'+rtrim((select count(*) from test where t.bj=bj and t.id>=id)),2),id
from test t
--sql server2005(row_number)
select bj,xh=bj+right('00'+rtrim(ROW_NUMBER()over(partition by bj order by id)),2),id
from test t

--更新
--sql server2000的做法(子查询)
update t
set bj = (bj+right('00'+rtrim((select count(*) from test where t.bj=bj and t.id>=id)),2))
from test t
--sql server2005(row_number)
;with cte as
(
select *,rn=bj+right('00'+rtrim(ROW_NUMBER()over(partition by bj order by id)),2)
from test
)
update cte
set bj = rn

⑥ sqlserver2005分组查询列子

select 列名a,列名B
from 表名
group by 列名a,列名B
分组一般会和函数一起使用如 SUM()函数,count()函数
select 列名a,列名B,SUM(列名C)
from 表名
group by 列名a,列名B
该语句是统计C列的数量总数

⑦ sql server 2005 中查询一个数据库中所有表的数据,并按表分组

可以
同时执行多条查询语句,查出的结果是很多个表,并且按照每一个表分开的.

但是你要查出到一个表就不可以的,毕竟每个表之间的字段个数和类型都是不一样的.而且这样做也没有多少意义.

如果有对多表数据的需求,可以使用视图,存储过程等实现.

⑧ SQL 中如何根据只根据第一个字段分组

使用分析函数row_number() over (partiion by ... order by ...)来进行分组编号,然后取分组标号值为1的记录即可。目前主流的数据库都有支持分析函数,很好用。
其中,partition by 是指定按哪些字段进行分组,这些字段值相同的记录将在一起编号;order by则是指定在同一组中进行编号时是按照怎样的顺序。
示例(SQL Server 2005或以上适用):

123456
select s.* from ( select *, row_number() over (partition by [手机号] order by [店铺]) as group_idx from table_name) swhere s.group_idx = 1

⑨ SQL Server2005里面怎么样根据出生年月进行分组我想把80年之前出生和之后出生的人分成两组,请问怎么写

我这里假设你那个 “出生年月” 字段的数据类型,是 DATETIME 类型的。

select
CASE WHEN YEAR(出生年月) > 1980 THEN '80后' ELSE '80前' END AS [类型]
count(*) AS [人数]
from
table_name
group by
CASE WHEN YEAR(出生年月) > 1980 THEN '80后' ELSE '80前' END

⑩ SQL中分组短语是什么

SQL中分组短语是:group by。

GROUP BY 语句

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。

GROUP BY 语法

SELECT column_name, aggregate_function(column_name)FROM table_name WHERE column_name operator valueGROUP BY column_name

Group By 的使用:

1、 Group By [Expressions]:

这个恐怕是Group By语句最常见的用法了,Group By + [分组字段](可以有多个)。在执行了这个操作以后,数据集将根据分组字段的值将一个数据集划分成各个不同的小组。比如有如下数据集,其中水果名称(FruitName)和出产国家(ProctPlace)为联合主键:


SELECTFruitName,ProctPlace,Price,IDASIDE,Discount
FROMT_TEST_FRUITINFO
WHERE(ProctPlace=N'china')ORDERBYIDE

这里只有在ORDER BY语句中才可以使用IDE,其他条件语句中如果需要引用列名则只能使用ID,而不能使用IDE。

以上就是Group By的相关使用说明。内容参考与网站CSDN中的“SQL语句Group By 语句小结“。