sqlserver 常用操作

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: sqlserver 常用操作
  • 根据某个字段统计重复数
select column1,count(1) total from Table1 WHERE condition1=xxx GROUP BY column1 HAVING count(1)>1
  • 计算重复总数
select sum(total) total from (
select column1,count(1) total from Table1 WHERE condition1=xxx GROUP BY column1 HAVING count(1)>1
) t
  • 根据多个字段查询重复数据(除第一条外)
SELECT * from (SELECT column1, column2, ROW_NUMBER()OVER(PARTITION BY column1,column2 ORDER BY column3) AS RN FROM Table1 where condition1=xxx) t WHERE t.RN>1
  • 删除重复的数据只留一条
DELETE t from (SELECT column1, column2, ROW_NUMBER()OVER(PARTITION BY column1,column2 ORDER BY column3) AS RN FROM Table1 where condition1=xxx) t WHERE t.RN>1
  • 一次性查询多条数据使用游标遍历操作多个sql语句
DECLARE @recordNo INT,@id INT
  DECLARE rs CURSOR LOCAL SCROLL FOR
  select DISTINCT top 10 id from Table1 where condition1=xxx
  OPEN rs
  FETCH NEXT FROM rs INTO @id
  WHILE @@FETCH_STATUS = 0
  BEGIN                   
    update Table2 set column1=1,column2='xxx',updateTime=GetDate() where id=@id;
    
    SELECT @recordNo=max(recordNo)+1 FROM Table2;
    
    insert into Table2 (recordNo,tb1_id,column1,column2,createTime) select top 1 @recordNo,@id,column1,column2,GetDate() FROM Table2 WHERE tb1_id=@id;
    
    update Table3 set idVal=@recordNo where idName='Table2';
    
    UPDATE Table1 set column1='xxx',column2=xxx,updateTime=GetDate() where id=@id;    
    
  FETCH NEXT FROM rs INTO @id
  END
  CLOSE rs;
  • 提取日期中的年月日及其他格式
    提取年:datepart(yy,getdate())
    提取月:datepart(mm,getdate())
    提取日:datepart(dd,getdate())
//按月统计数量
select datepart(mm,shijian) MONTH,count(1) from tb where shijian > '2020-01-01' GROUP BY datepart(mm,shijian) order by MONTH
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
SQL Linux 网络安全
SQLServer On Linux 常用操作(启动、停止、启用、禁用、浏览)|学习笔记
快速学习 SQLServer On Linux 常用操作(启动、停止、启用、禁用、浏览)
1313 0
|
SQL 存储 数据库
|
26天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
64 10
|
2月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
3月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据查询
【数据库SQL server】关系数据库标准语言SQL之数据查询
98 0
|
3月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之视图
【数据库SQL server】关系数据库标准语言SQL之视图
85 0
|
2月前
|
SQL 数据库
sql server中创建数据库和表的语法
sql server中创建数据库和表的语法
19 1
|
2月前
|
SQL 安全 数据库
SQLServer 实现数据库表复制到另一个数据库_kaic
SQLServer 实现数据库表复制到另一个数据库_kaic
|
26天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
100 6
|
11天前
|
SQL 调度 数据库
【Database】Sqlserver如何定时备份数据库和定时清除
【Database】Sqlserver如何定时备份数据库和定时清除
20 2

相关实验场景

更多