SQL 练习记录

--1. 统计订单金额累计>=10000的用户 最近的5笔交易记录

select * from (
select t1.ID, t1.[Money], t1.InitialTime, t1.[User], u1.Name,u1.Mobile, row_number() over(partition by t1.[User] order by t1.InitialTime desc) as num
from [TradeFictitious] t1
join
(
select [User] from TradeFictitious
group by [User]
having sum(Money)>=100000
) as j1
on t1.[User] = j1.[User]
left join [User] u1
on t1.[User] = u1.ID)T
where num<=5
go

时间: 2024-10-07 01:23:55

SQL 练习记录的相关文章

SQL Server 记录(更新中...)

sys.databases 显示所有数据库信息 sys.tables 显示当前数据库所有的表的信息 Go 向 SQL Server 实用工具发出一批 Transact-SQL 语句已结束的信号,Go本身不是T-SQL语句 sq_addrole 等等 SQL Server 系统存储过程以字符 sp_ 开头. EXEC或EXECUTE 执行 Transact-SQL 批处理中的命令字符串.字符串或执行下列模块之一:系统存储过程.用户定义存储过程.CLR 存储过程.标量值用户定义函数或扩展存储过程.

Yii2如何添加sql日志记录的配置信息

在使用Yii2框架的时候,常常会出现没有sql日志记录的问题.在代码里一句一句的打印sql语句也不现实.所以就要用文件记录起来. 在 config/web.php 里面的 log配置中增加如下配置 [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning','info'], 'logVars'=>[], //表示以yii\db\或者app\models\开头的分类都会写入这个文件 'categories'=>

常用SQL脚本记录一

20.SUM()和 列+ 统计结果时:如果列里有一行为null,SUM函数会忽略它:如果+,则结果集也为NULL了 19 SUBSTRING (expression,startIndex, endIndex) SELECT SUBSTRING ('Los Angeles',1, 3) 返回结果Los,默认索引从1开始 18 SQL分隔字符串函数返回一个table数据集 ,拆成结果集SELECT * FROM dbo.fn_split('A,B,CD,EFG,H',',')Table里"-&quo

常用sql 全记录(添加中)

-- 数据库SQL总结中........... --SQL分类: (CREATE,ALTER,DROP,DECLARE) ---DDL-数据定义语言(SELECT,DELETE,UPDATE,INSERT) ---DML-数据操纵语言(GRANT,REVOKE,COMMIT,ROLLBACK) --DCL-数据控制语言--设置内存选项--设置 min server memory 配置项EXEC sp_configure N'min server memory (MB)', 0 --设置 max

SQL学习记录

1.表的某一列对于只接受特定的值来说,需要增加一个约束条件, gender CHAR(1) CHECK (gender IN ('M','F')) 对于大多说数据库服务器中检查约束来说能够如期的工作,但对于MySQL来说,虽然定义了检查约束,但并不强制,实际上MySQL提供了另一种名为enum的字符数据类型,它可以将检查约束和数据定义融合在一起:gender ENUM('M','F'); 2.ALERT TABLE person MODIFY person_id SMALLINT UNSIGNE

Mysql 将结果保存到文件 从文件里运行sql语句 记录操作过程(tee 命令的使用)

1.  有时候我们可能须要记录我们对mysql的操作过程,这时我们能够使用mysql的tee命令 1)第一种情况是在链接数据库的时候使用tee >mysql  -u root  -p  --tee=C:\log.txt       //注意这里路径不须要加上引號 这时我们对数据库的全部操作都会记录在log.txt上: 2) 第二中方式是在链接上数据库后使用 mysql >   tee  C:\log.txt        //这个命令后面的操作都会记录在log中 当你不想记录log时,你能够使

SQL 问题记录

今天在处理SQL的时候遇到几个问题: 1.如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中 select distinct id from 收费站 order by name   //  错误 改成: select distinct id , name from 收费站 order by name // 正常 或者,用group by 代替 注意用了distict 后面紧跟的字段似乎不能出现在order by 中 2.除非另外还指定了 TOP

phalcon: plugin 结合Manager事件管理、dispatcher调度控制器 监听sql日志记录或其他拦截出来

可能用到的类 phalcon\mvc\use\plugin Phalcon\Mvc\Dispatcher as MvcDispatcher Phalcon\Events\Manager as EventsManager 代码部分 public/index.php: $di['db'] = function() use($di){ //log //事件管理 $eventManager = new \Phalcon\Events\Manager(); //继承了plugins的数据库sql操作类 $

[QT][SQL]sql学习记录5_sqlite视图(View)

SQLite 视图(View) 视图(View)只不过是通过相关的名称存储在数据库中的一个 SQLite 语句.视图(View)实际上是一个以预定义的 SQLite 查询形式存在的表的组合. 视图(View)可以包含一个表的所有行或从一个或多个表选定行.视图(View)可以从一个或多个表创建,这取决于要创建视图的 SQLite 查询.. 视图(View)是一种虚表,允许用户实现以下几点: 用户或用户组查找结构数据的方式更自然或直观. 限制数据访问,用户只能看到有限的数据,而不是完整的表. 汇总各

SQL对记录结果进行按日汇总并支持分页,无记录填充0值

数据库中的格式如下,是个记录明细表,要求对明细表进行按日汇总倒序输出. 用下面的SQL语句可以进行按日汇总并且可以分页输出 DECLARE @Days TABLE ( 日期 DATETIME ) DECLARE @StartDate datetime='2014-04-05 14:22:20'--汇总的开始日期 DECLARE @EndDate datetime='2015-04-08 15:21:33'--汇总的结束日期 DECLARE @start DATETIME DECLARE @E2_