-
世界杯猜想活动的各类榜单的SQL语句小结
/*增幅降幅排名*/复制代码代码如下:Selecttop50UserName,sum(ReceivePrice)-sum(GuessPrice)asReceivePrice,cast(sum(CASEWHENReceivePrice>0THEN1.0ELSE0END)/count(ReceivePrice)*100asnumeric(4,1))asRateFrom[game_FantasyLog]WHEREIsJudge=1GROUPBYUserId,UserNameORDERBYsum(ReceivePrice)-sum(GuessPrice)ASC/*正确率错误率排名*/复制代码代码如下:Selecttop50UserName,sum(ReceivePrice)-sum(GuessPrice)asReceivePrice,cast(sum(CASEWHENReceivePrice>0THEN1...
数据库操作教程 2022-09-23 20:22:39 -
用sql脚本创建sqlserver数据库触发器范例语句
复制代码代码如下:--会员表ifobject_id('userinfo','u')isnotnulldroptableuserinfogocreatetableuserinfo(useridintprimarykey,user_tegralint,levelint)insertintouserinfoselect1,0,0go--会员等级表ifobject_id('userlevel','u')isnotnulldroptableuserlevelgo--插入测试数据createtableuserlevel(levelintprimarykey,mlevel_pointdecimal(10,2))insertintouserlevelselect0,0insertintouserlevelselect1,100insertintouserlevelselect2,200insertintouserlevelselect3,300go--触发器createtriggerTR_userInforonuserinfoforupdateasbeginupdateaseta.level=b...
数据库操作教程 2022-09-23 20:22:31 -
mssql数据库中的表、字段sql语句
mssqlupdatefrom语法复制代码代码如下:updateaseta.columnname=b.columnnamefroma,bwhereb.id=11.系统表sysobjects在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。列名数据类型说明namesysname对象名idint对象标识号xtypechar(2)对象类型...
数据库操作教程 2022-09-23 20:21:59 -
一段压缩MSSQLServer日志的语句
复制代码代码如下:--====================================================================--SQL:数据库压缩语句------------------------------------------------------------------------Description:压缩数据库--Modify:x.zhong--====================================================================DECLARE@db_namevarchar(200)--得到当前数据库名称declaregetdbnamecursorforselectdb_name()opengetdbnamefetchgetdbnameinto@db_namewhile@@fetch_status=0beginfetchgetdbnameinto@db_nameendclosegetdbnameDEALLOCATEgetdbname--压缩数据库日志DUMPTRANSACTION@db_...
数据库操作教程 2022-09-23 20:21:47 -
一个用来统计相同姓名人数的SQl语句
sql语句查询表结构是这样:ID姓名性别1张三男2王四男3丽丽女4张三男5赵柳男6高洁男7王四女8高洁女9张三女怎么能用一条SQL语句查询出如下的结果姓名人员个数男人数女人数包含ID张三3211,4,9王四2112,7丽丽1013高洁2116,8赵柳1105复制代码代码如下:SELECT*FROM(SELECTDISTINCTName,Count(ID)as人員個數,sum(casewhenSex='男'then1else0end)as男人數,sum(casewhenSex='女'then1else0end)as女人數FROMTestgroupbyName)AOUTERAPPLY(SELECT[包含ID]=STUFF(REPLACE(REPLACE((SELECTIDFROMTestNWHEREName=A.NameFORXMLAUTO),'<NID="',','),'"/>',''),1,1,''))N...
数据库操作教程 2022-09-23 20:21:23 -
将所有符合条件的结果拼接成一列并用逗号隔开的一个sql语句
复制代码代码如下:createtabletb(idint,valuevarchar(10))insertintotbvalues(1,'aa')insertintotbvalues(1,'bb')insertintotbvalues(2,'aaa')insertintotbvalues(2,'bbb')insertintotbvalues(2,'ccc')gocreatefunction[dbo].[f_str](@idint)returnsnvarchar(1000)asbegindeclare@strnvarchar(1000)set@str=''select@str=@str+','+cast(valueasnvarchar(900))fromtbwhereid=@idset@str=right(@str,len(@str)-1)return@strendgo--调用函数selectid,value=dbo.f_str(id)fromtbgroupbyid运行结果:本来在上面的函数中所有的nvarchar都是varchar类型的,并且上面函数的红色处在调用cast方法时,并未指定...
数据库操作教程 2022-09-23 20:21:15 -
sql高级技巧几个有用的Sql语句
1、例如:有两个表A(字段1,字段2,字段3)、B(字段2,字段3),其中存储数据如下所示表A字段1字段2字段31<Null>地段内容11<Null>地段内容12<Null>地段内容22<Null>地段内容23<Null>地段内容34<Null>地段内容45<Null>地段内容55<Null>地段内容55<Null>地段内容56<Null>地段内容67<Null>地段内容78<Null>地段内容88<Null>地段内容88<Null>地段内容88<Null>地段内容8表B字段2字段3wdz1地段内容1wdz2地段内容3wdz3地段内容5wdz4地段内容6wdz5地段内容7wdz6地段内容8使用下面的Sql语句(可以达到将表A中字段3与表B中字段3相同的数据字段2填充到表A中的字段2)update表1set字段1=(select字段1from表2where表1.字段3=表2.字段3)结果如下表所示表A结果字段1...
数据库操作教程 2022-09-23 20:21:08 -
sqlserver利用存储过程去除重复行的sql语句
还是先上代码吧,可以先看SQL语句去掉重复记录,获取重复记录复制代码代码如下:ALTERprocedure[dbo].[PROC_ITEMMASTER_GETUNIQUE]@PAGEINDEXINT,@uidint,@itemnumbervarchar(50)ASbegintran--开始事务droptable[ItemMaster].[dbo].[testim]--删除表--把不重复记录转存到testim中select*into[ItemMaster].[dbo].[testim]from[ItemMaster].[dbo].[dat_item_master]whereitem_uidin(selectmin(item_uid)asitem_uidfrom[ItemMaster].[dbo].[dat_item_master]groupbyitem_number)andstatus=0selecttop10*from[ItemMaster].[dbo].[testim]whereitem_uidnotin(selecttop(10*(@PAGEINDEX-1))item_uidfro...
数据库操作教程 2022-09-23 20:20:36 -
SQLServer优化SQL语句in和notin的替代方案
但是用IN的SQL性能总是比较低的,从SQL执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:SQL试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程...
数据库操作教程 2022-09-23 20:16:38