随笔分类 - 数据库
摘要:SELECT live_id, max(ct) max_user_count FROM ( SELECT live_id,sum(flag) over(partition by live_id order by datetime) ct from (select live_id,in_datetim
阅读全文
摘要:查询订单明细表中销量排名第二的商品id,如果不存在则返回null,如果存在则返回对应的商品id(多个商品同时满足则返回多个) Mysql & SqlServer 查询语句:适用Mysql&SqlServer 利用窗口函数 DENSE_RANK() 实现,当出现并列排名时,下一个排名会连续递增。例如,
阅读全文
摘要:Mysql & SqlServer 查询语句:适用Mysql&SqlServer 方式一:使用开窗函数LEAD。 SELECT distinct num1 FROM ( SELECT num num1, LEAD(num,1) over (ORDER BY id) num2, LEAD(num,2)
阅读全文
摘要:注意事项 达梦数据库默认大小写敏感,如果需要大小写不敏感只能在初始化数据库的时候设置,并且一旦设置成功就无法再修改,若要修改,只能重新初始化实例。 执行表操作,必须带上数据库的前缀。 创建表和设置备注不能同时进行,必须先执行创建表的命令,成功后再执行设置备注的命令。 创建数据库、表时,数据库名、表名
阅读全文
摘要:Mysql SqlServer 查询语句:适用Mysql&SqlServer SELECT t2.user_id, t2.order_id, t2.create_date FROM ( SELECT user_id, create_date, ROW_NUMBER() OVER (PARTITION
阅读全文
摘要:Mysql: 利用Mysql的date_sub函数实现 SELECT DISTINCT user_id from ( SELECT user_id, date_sub(create_date,INTERVAL rn DAY) ds from ( select user_id,create_date,
阅读全文
摘要:演示数据库:Mysql 创建表 内连接 放在On后面 SELECT * FROM tb_singer t1 INNER JOIN tb_song t2 ON t1.id=t2.singer_id and t2.`name`='夜曲' WHERE t1.`name`='周杰伦'; 放在Where后面
阅读全文
摘要:Group By 在SqlServer中,Group By后面的属性列必须也要出现在Select后面。而Mysql没有此要求 select name,count(1) from users group by id 上述语句在mysql中可以正常执行且能得到正常结果,但SqlServer执行会报错,因
阅读全文
摘要:避免在索引列上使用表达式或隐式类型转换。 尽量避免在where条件中使用NOT、<>、!= 等操作符,因为这些可能会导致引擎放弃使用索引而使用全表扫描。 or的两个条件都有索引的话,用union或union all代替or。 条件列没有索引情况下,用in操作符替换or,在mysql中or的效率为O(
阅读全文
摘要:1.获取当前时间 sql server SELECT GETDATE() mysql select NOW()
阅读全文
摘要:一.分区表概念 1.1、什么是分区表 分区表是SQL Server2005新引入的概念,这个特性允许把逻辑上的一个表在物理上分为很多部分(即它允许将一个表存储在不同的物理磁盘里),分区表在逻辑上是一个表,而物理上是多个表。 1.2、分区与分表的区别 分区:就是把一张表的数据分成N个区块,从逻辑上看只
阅读全文