① 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 语句小结“。