显示同一分组中的其他元素的sql语句_MsSql

1.原始查询表结果
 
2.理想查询表结果
 

一很牛的朋友写的sql语句大笑,学习啦偷笑:

select userpwd,username=stuff((select ','+username from tuser t1 where t1.userpwd=t.userpwd for xml path('')),1,1,'')
from tuser t
group by userpwd

说明: a.stuff方法(举例说明:select stuff('abcdef', 2, 3, 'klmn'); 在第一个字符串如: abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串aklmnef),

b.for xml path(在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据),

c.group by(分组函数)

时间: 2024-10-27 16:53:14

显示同一分组中的其他元素的sql语句_MsSql的相关文章

显示同一分组中的其他元素的sql语句

1.原始查询表结果   2.理想查询表结果 一很牛的朋友写的sql语句大笑,学习啦偷笑: select userpwd,username=stuff((select ','+username from tuser t1 where t1.userpwd=t.userpwd for xml path('')),1,1,'') from tuser t group by userpwd 说明: a.stuff方法(举例说明:select stuff('abcdef', 2, 3, 'klmn');

mssql数据库中的表、字段sql语句_MsSql

mssql update from 语法 复制代码 代码如下: update a set a.columnname=b.columnname from a,b where b.id=1 1.系统表sysobjects 在数据库中创建的每个对象(例如约束.默认值.日志.规则以及存储过程)都对应一行. 列名 数据类型 说明 name sysname 对象名 id int 对象标识号 xtype char(2) 对象类型.可以是以下对象类型之一: AF = 聚合函数 (CLR) C = CHECK 约

sqlserver中求字符串中汉字的个数的sql语句_MsSql

关于这个话题,我也看到网上有其他方法来解决. 不过从性能和代码量上来看,我有更好的办法. 在这里和大家 分享. 原理其实很简单, 知识1.长度函数 len(): 知识2.还是长度函数datalength(): 代码如下: 复制代码 代码如下: declare @sql varchar(1000) set @sql='abc国m,de中d国e人民f' select @sql 字符,DATALENGTH(@sql)-len(@sql) 汉字个数

sqlserver中去除字符串中连续的分隔符的sql语句_MsSql

以下测试用于去除任何字符串中连线的分隔符 复制代码 代码如下: --去除字符串中连续的分隔符 declare @str nvarchar(200) declare @split nvarchar(200),@times int set @str='中 国1 2 34 55 5 6 7 7';--字符 set @split=' '; --分隔符 select @times=(len(@str)-len(replace(@str,@split+@split,'')))/2 while @times>

SQL Server中查看对象定义的SQL语句_MsSql

除了在SSMS中查看view,存储过程等定义,也可以使用下面的语句直接查询: 复制代码 代码如下: SELECT object_definition(object_id('sys.tables')); go sp_helptext 'sys.tables' go select * from sys.system_sql_modules whereobject_id = object_id('sys.tables') 适用于以下对象类型: ·        C = 检查约束 ·        D

thinkphp中多表查询中防止数据重复的sql语句(必看)_php技巧

下面先来看看例子: table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. select *, count(distinct name) from table group by name 结果: id name count(distinct name) 1 a 1 2 b 1 3 c 1 最后一 项是多余的,不用管就行了 tp2.0手册   搜索连贯操作 可看到相关的资料 SELECT cat_id, COUNT(*) AS

查询mysql中执行效率低的sql语句的方法_Mysql

一些小技巧1. 如何查出效率低的语句?在MySQL下,在启动参数中设置 --log-slow-queries=[文件名],就可以在指定的日志文件中记录执行时间超过long_query_time(缺省为10秒)的SQL语句.你也可以在启动配置文件中修改long query的时间,如: 复制代码 代码如下:  # Set long query time to 8 seconds    long_query_time=8 2. 如何查询某表的索引?可使用SHOW INDEX语句,如: 复制代码 代码如

oracle-Oracle中如何只用一条sql语句查询下面的例子

问题描述 Oracle中如何只用一条sql语句查询下面的例子 解决方案 select_statement UNION [ALL] selectstatement [UNION [ALL] selectstatement][-n]其中selectstatement为待联合的SELECT查询语句.用联合查询足以 解决方案二: 这个只能在后台代码判断并组装语句,然后联表查询 解决方案三: Oracle SQL语句查询例子用一条SQL语句查询分组前三名数据常用的sql语句查询例子

在java类中写带中文的sql语句,查询结果为空

问题描述 在java类中写带中文的sql语句,查询结果为空 String query="select * from Restaurant where Restaurant_name='紅樹林';"; rs=stm.executeQuery(query); 这是我在封装好的数据库类中写的sql语句,查询结果为空(rs.next() 为false ) 如果改用id查询,即: String query="select * from Restaurant where Restaura