记录下数据库常用的一些语句,太基础的就不写了
1.分页的几种写法
2.表关联操作
3.分组相关
分组后 (按分组内的)按 某个字段 排序,适用于 比如 筛选 某10个品牌 的 销量前10 的 商品(跟下面sql无关)
关键: PARTITION BY
SELECT GoodsClass,Cid FROM (
SELECT ROW_NUMBER() OVER(PARTITION BY Cid ORDER BY Num DESC) row,GoodsClass,Cid
FROM dbo.GoodsClassMap) t
WHERE t.row=1
4.查看死锁正在执行的的进程
--查看
select object_name(resource_associated_entity_id) as tableName, request_session_id as pid from sys.dm_tran_locks
where resource_type = 'OBJECT'
--查看具体的语句或者存储过程什么的
DBCC INPUTBUFFER(1401)
--杀死进程
kill PID
5.递归
WITH cte AS (
SELECT u1.UserId,u1.InviterId,0 lv FROM dbo.Users u1 WHERE UserId=1
UNION ALL
SELECT u.UserId,u.InviterId,lv+1 lv FROM cte INNER JOIN Users u ON u.InviterId=cte.UserId
)SELECT * FROM cte