
sql语句
文章平均质量分 72
sql 查询
Westbrook-Ag
这个作者很懒,什么都没留下…
展开
-
sql 性能优化15点
因为ids太多,即使能快速查出数据,但如果返回的数据量太大了,网络传输也是非常消耗性能的,接口性能始终好不到哪里去。如果实现业务场景中需要查询出另外几张表中的数据,可以在a、b、c表中冗余专门的字段,比如:在表a中冗余d_name字段,保存需要查询出的数据。mysql会查到1000020条数据,然后丢弃前面的1000000条,只查后面的20条数据,这个是非常浪费资源的。但缺点是mysql执行子查询时,需要创建临时表,查询完毕后,需要再删除这些临时表,有一些额外的性能消耗。原创 2025-01-14 17:01:11 · 806 阅读 · 0 评论 -
sql 查询(case when)
【代码】sql 查询(case when)原创 2024-10-08 11:45:07 · 699 阅读 · 0 评论 -
sql 查询重复记录(mysql)
查处各个重复记录组中多余的鸡柳数据,不查出id最小的一条。查询出有重复记录的各个记录组中的ID最大的记录。删除多余的重复记录,只保留id 最小的记录。查出有重复记录的各个记录组中ID最大的记录。删除多有的重复记录,只保留id最小的记录】查询出多余的记录,不查出id最小的记录。1、单子段(nick_name)查询所有有重复记录的所有记录。查出所有有重复记录的记录。原创 2024-10-08 11:19:05 · 863 阅读 · 0 评论 -
sql查询 exists(not exists)与in(not in)
WHERE (列名1, 列名2) IN (SELECT 列名1, 列名2 FROM 表名 WHERE 条件)WHERE 列名 IN (SELECT 列名 FROM 表名 WHERE 条件 LIMIT 1)IN 运算符用于比较单个值或列与一组值,而 EXISTS 运算符用于检查子查询是否返回结果。IN 运算符适用于静态数据列表,而 EXISTS 运算符适用于动态或复杂的子查询。WHERE 列名 IN (SELECT 列名 FROM 表名 WHERE 条件)WHERE 字段名 IN(数据值_1,数据值_2,…原创 2023-12-06 15:25:41 · 1129 阅读 · 0 评论 -
mysql时间查询
SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , ‘%Y%m’ ) , date_format( 时间字段名, ‘%Y%m’ ) ) =1。SELECT * FROM 表名 WHERE YEARWEEK(date_format(submittime,‘%Y-%m-%d’)) = YEARWEEK(now())-1;常用的Mysql时间操作(当天,昨天,7天,30天,半年,全年,季度)17.查询距离当前现在6个月的数据。9.查询上一月的记录。原创 2023-08-25 14:19:28 · 3806 阅读 · 1 评论 -
sql 常用查询语句
DENSE_RANK:按照指定列进行分组并排序,相同值的行具有相同的排名,不跳过下一个排名。LEFT JOIN:连接左侧数据表,并包括右侧数据表中与左侧数据表中没有匹配项的行。RANK:按照指定列进行分组并排序,相同值的行具有相同的排名,跳过下一个排名。FIRST_VALUE:返回分组中第一个行的列值。LAST_VALUE:返回分组中最后一个行的列值。NOT IN:筛选不符合指定值中任意一个的数据。LEAD:返回当前行之后的指定偏移量的行的列值。LAG:返回当前行之前的指定偏移量的行的列值。原创 2023-08-25 09:49:35 · 577 阅读 · 1 评论 -
sql 查询重复数据及删除
注:此处保留ID最大一条记录1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count()>1)原创 2023-08-25 09:47:06 · 2108 阅读 · 1 评论