数据库SQL及相关
//1、生成随机数
ROUND(((89 - 71 -1) * RAND() + 71), 0)
DECLARE @Result INT
DECLARE @Upper INT
DECLARE @Lower INT
SET @Lower = 1
SET @Upper = 10
SELECT @Result = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0)
SELECT @Result
//2、字段为空,输出默认值
isnull(wj.wjsum,0) as wjsum//数字
isnull(wj.wjsum,'无') as wjsum//字符
//3、GROUP BY 中Count
SELECT TOP 100 PERCENT wjs_scid,COUNT (wjs_scid) AS scidsum FROM [dbo].[wj_selectresult_wj] WHERE wjs_id = 28 GROUP BY wjs_id,wjs_cid,wjs_scid //视图或多表查询用到TOP 100 PERCENT
//因为SQL规则规定,如果子查询里,有order ...,就必须有TOP,所以就用SELECT TOP 100 PERCENT来限定
SELECT wjs_scid,COUNT (DISTINCT operator_id) AS scidsum FROM [dbo].[wj_selectresult_wj] WHERE wjs_id = 28 GROUP BY wjs_scid ;//分组 去重复 计数
//4、固定输出列
SELECT wjc.*, scidsum,wjsperc=0,wjpsum='0' FROM [dbo].[wjcontent_wj]
//5查询多字段重复
select group_id,app_id,operator_id from app_messages group by group_id,app_id,operator_id having count(*) > 1
//6 日期+-
select DateAdd(month,-1,DateAdd(dd,-1, DateAdd(yy,5,'2017-08-04'))) //+5年 -天 -一个月
//7 petapoco 分页
SELECT
COUNT (*)
FROM
Sys_User u
LEFT JOIN Sys_Organize o ON u.DepartmentId = o.Id
WHERE
(
u.DeleteMark = 0
AND u.Account LIKE @0
OR u.RealName LIKE @1
)
SELECT
*
FROM
(
SELECT
ROW_NUMBER () OVER (ORDER BY u.SortCode) peta_rn,
u.*, o.FullName
FROM
Sys_User u
LEFT JOIN Sys_Organize o ON u.DepartmentId = o.Id
WHERE
(
u.DeleteMark = 0
AND u.Account LIKE @0
OR u.RealName LIKE @1
)
) peta_paged
WHERE
peta_rn > @2
AND peta_rn <= @3
//字符串in 操作 charindex mysql 用instr 不太好用,不推荐使用,请用 转int 方式
SELECT
Id,
Name,
ParentId
FROM
HR_PostWorkType
WHERE
1 = 1
AND
charindex(PostId,'9,10,0') <> 0
ORDER BY
SortCode ASC
//按生日得到当前年龄
SELECT dbo.HR_Person.RealName as 姓名,Gender_Name as 性别,FLOOR(datediff(DY,Birthday,getdate())/365.25) as 年龄,dbo.HR_Person.CardNum as 身份证号,dbo.HR_Person.Org_Name as 单位,MobilePhone as 联系电话,Address as 地址 FROM [dbo].[HR_Person] WHERE
--备份mssql数据库
declare @strfile nvarchar(1000)
SET @strfile ='D:\DB\DDPT\edu_dudao'+CONVERT(varchar(100), GETDATE(), 12)+'.bak'
declare @strName nvarchar(1000)
SET @strName ='edu_dudao'+CONVERT(varchar(100), GETDATE(), 12)
BACKUP DATABASE [edu_dudao]
TO
DISK = @strfile
WITH
NAME = @strName,
NOFORMAT, NOINIT, SKIP,
STATS = 5
--按月份统计数量
SELECT
YEAR (HR_WorkRecord.StartTime) 年,MONTH (HR_WorkRecord.StartTime) 月,
COUNT (1) 数量
FROM
HR_WorkRecord
WHERE
year(HR_WorkRecord.StartTime)='2018'
GROUP BY
YEAR (HR_WorkRecord.StartTime) , MONTH (HR_WorkRecord.StartTime)
select
sum(case month(HR_WorkRecord.StartTime) when '1' then 1 else 0 end) as 一月,
sum(case month(HR_WorkRecord.StartTime) when '2' then 1 else 0 end) as 二月,
sum(case month(HR_WorkRecord.StartTime) when '3' then 1 else 0 end) as 三月,
sum(case month(HR_WorkRecord.StartTime) when '4' then 1 else 0 end) as 四月,
sum(case month(HR_WorkRecord.StartTime) when '5' then 1 else 0 end) as 五月,
sum(case month(HR_WorkRecord.StartTime) when '6' then 1 else 0 end) as 六月,
sum(case month(HR_WorkRecord.StartTime) when '7' then 1 else 0 end) as 七月,
sum(case month(HR_WorkRecord.StartTime) when '8' then 1 else 0 end) as 八月,
sum(case month(HR_WorkRecord.StartTime) when '9' then 1 else 0 end) as 九月,
sum(case month(HR_WorkRecord.StartTime) when '10' then 1 else 0 end) as 十月,
sum(case month(HR_WorkRecord.StartTime) when '11' then 1 else 0 end) as 十一月,
sum(case month(HR_WorkRecord.StartTime) when '12' then 1 else 0 end) as 十二月
from HR_WorkRecord
where year(HR_WorkRecord.StartTime)='2018';
--统计销售额
1、每年
select year(ordertime) 年,
sum(Total) 销售合计
from
订单表
group by year(ordertime)
2、每月
select year(ordertime) 年,
month(ordertime) 月,
sum(Total) 销售合计
from
订单表
group by year(ordertime),
month(ordertime
3、每日
select year(ordertime) 年,
month(ordertime) 月,
day(ordertime) 日,
sum(Total) 销售合计
from
订单表
group by year(ordertime),
month(ordertime),
day(ordertime)
另外每日也可以这样:
select convert(char(8),ordertime,112) dt,
sum(Total) 销售合计
from
订单表
group by convert(char(8),ordertime,112)
如果需要增加查询条件,在from后加where 即可。
数据库SQL及相关的更多相关文章
- SQL Server相关书籍
SQL Server相关书籍 (排名不分先后) Microsoft SQL Server 企业级平台管理实践 SQL Server 2008数据库技术内幕 SQL Server性能调优实战 SQL S ...
- Oracle 数据库SQL性能查看
作为一个开发/测试人员,或多或少都得和数据库打交道,而对数据库的操作归根到底都是SQL语句,所有操作到最后都是操作数据,那么对sql性能的掌控又成了我们工作中一件非常重要的工作.下面简单介绍下一些查看 ...
- 学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)
学生选课数据库SQL语句45道练习题: 一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...
- 【转】Android开发之数据库SQL
android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库 android中采用的数据库是SQLi ...
- [20190329]探究sql语句相关mutexes补充2.txt
[20190329]探究sql语句相关mutexes补充2.txt --//昨天测试sql语句相关mutexes,看看如果出现多个子光标的情况. 1.环境:SCOTT@book> @ ver1P ...
- 数据库SQL优化大总结之 百万级数据库优化方案(转载)
网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉 ...
- 数据库——SQL中EXISTS怎么用2(转)
数据库sql语句的exists总结 sql exists in 学习 先来比较下语法: --deals=交易表,areas=地域表,例如香港:我们的目的:查看有交易的地域 select * from ...
- 关于数据库SQL优化
1.数据库访问优化 要正确的优化SQL,我们需要快速定位能性的瓶颈点,也就是说快速找到我们SQL主要的开销在哪里?而大多数情况性能最慢的设备会是瓶颈点,如下载时网络速度可能会是瓶颈点,本地复制文件 ...
- 数据库sql优化总结之5--数据库SQL优化大总结
数据库SQL优化大总结 小编最近几天一直未出新技术点,是因为小编在忙着总结整理数据库的一些优化方案,特此奉上,优化总结较多,建议分段去消化,一口吃不成pang(胖)纸 一.百万级数据库优化方案 1.对 ...
随机推荐
- su成别的用户后仍以原来私钥访问远程机器
背景: 同步机和游戏服两台机都有个人用户账号和游戏账号xy1,游戏服设了xy1的ssh强制命令来受同步机的xy1控制.现在需要在同步机上用xy1进行一个控制游戏服的操作,该操作需要在同步机远程tail ...
- iOS CoreData 的级联删除等操作
关于CoreData 的基本操作在网上有一些中文资料,但是这些资料大多没有涉及CoreData的详细操作,只是简单的演示了最基本用法.像级联删除这种最基本的数据库操作都没有提到.今天在网上看到了一些英 ...
- 10.python之socket和socketserver
1.socket介绍 socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,取后一种意思.通常也 称作"套接字",用 ...
- Cocos2d-JS场景树
场景树概念(Scene Graph) 场景树是Cocos2d-JS中用来管理场景中所有元素的一个数据结构,场景树之所以被称为一棵树是因为它将一个场景的所有子结点以树状图的形式组织在一起. Cocos2 ...
- CodeForces - 420A (字符对称问题)
Start Up Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submit Sta ...
- 原创centos7安装hadoop2.7(转载请注明出处)
启用ip vi /etc/sysconfig/network-scripts/ifcfg-ONBOOT=yes 编辑DNS /etc/resolv.conf nameserver 114.114.11 ...
- mysql:表注释和字段注释
mysql:表注释和字段注释 1 创建表的时候写注释 create table test1 ( field_name int comment '字段的注释' )comment='表的注释'; 2 修改 ...
- Maven使用笔记(七)Maven使用问题记录
1.Java-maven异常-cannot be cast to javax.servlet.Filter 报错 tomcat 启动后先将tomcat/lib目录下的jar包全部读入内存,如果weba ...
- ***微信LBS地理位置开发+百度地图API(地理位置和坐标转换)
微信公众平台开发 - 获取用户地理位置 本文介绍在微信公众平台上如何使用高级接口开发获取用户地理位置的功能. 一.获取用户地理位置接口 开通了上报地理位置接口的公众号,用户在关注后进入公众号会话时,会 ...
- Xamarin.Android开发实践(七)
Xamarin.Android广播接收器与绑定服务 一.前言 学习了前面的活动与服务后,你会发现服务对于活动而言似乎就是透明的,相反活动对于服务也是透明的,所以我们还需要一中机制能够将服务和活动之间架 ...