leetcode的mysql题目 oder by 频率 desc limit 50

如果不是主键

如果不是主键,这时表明会有重复的行,这时一定要去重,可以用distinct和group by 去重

avg和round这类函数针对的是单纯的数字

你在给一堆数字求平均值的时候,千万不要在里面再给这堆数字重新命名
例如

avg((case when activitytype=‘start’ then -tiemstamp else timestamp end) as res)
这条语句是错误的,因为你在avg里面给这堆数字命名了。avg面对的一列中的数字,所以千万不要在这里面重命名,不然他就不是在给数字就平均值了,而是给列名求平均值了

case when … then … else… end

记住,这个case when then语句是另加一列的,并不是在现有的数据表中的某一列进行修改,

是另加一行的,是另加一行的,是另加一行的,是另加一行的,是另加一行的,是另加一行的,是另加一行的,是另加一行的,是另加一行的,是另加一行的

oder by id 排序

order by id这时最后才排序的,执行顺序在最后

用left join

用left join时,是必然有结果的,但是有的时候,你在联合两张表的时候,可能第二张表是空的,因此如果你还是用left join的话,那还是有结果的,因此此时必须要自连接比较好

ifnull()方法

ifnull(A, B)
如果A为null则返回B的内容
如果A不为NULL 则直接返回A 的内容
在这里插入图片描述

什么时候用自连接呢?

当同一个段内的记录需要比较大小时,或者同一个段内的不同记录间要进行某些操作时,这时可以用 select * from 表A as a,表A as b,这样每一行与其他行都对应起来了,然后就可以操作了

left join 中on 和 where的区别

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下:

1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。

2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。

distinct关键字

在这里插入图片描述在这里插入图片描述
从上例中可以发现,当distinct应用到多个字段的时候,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段,而且distinct只能放到所有字段的前面,如下语句是错误的:

SELECT country, distinct province from person; // 该语句是错误的

在这里插入图片描述

select关键字

mysql中select关键字其实就相当于Java中的sout打印一样,是一个输出显示的作用,后面的as只是给输出的内容起了个列名。select后面的内容就是纯内容, 而内容后面as 只是给这个纯内容起了一个别名,这个字段名

过滤日期

用between … and … 日期用双引号
between “2019-06-28” and “2019-07-27”

delete from 关键字删除

delete from 后面接表名 再后面接where语句
在这里插入图片描述

对同一张表进行自连接

在这里插入图片描述
相同的一张表进行自连接的时候,一定要另外取一个别名,如果是相同的两个名字就直接自连接是会报错的
比如
select * from 表A,表A;这样是会报错的
select * from 表A as A, 表A as B; 这样就是对的

if…语句和case … when…语句

在这里插入图片描述
if是一个函数,既然是函数就有一个返回值,其返回值不是表达式2,就是表达式3
在这里插入图片描述在这里插入图片描述

UNION ALL

在这里插入图片描述

且之后形成的表的字段名是以第一个select语句为准

dateDiff关键字

在这里插入图片描述在这里插入图片描述
datediff函数里面是两个日期,返回值是相隔的天数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值