
sql
时光奶茶
留个足迹吧!
展开
-
查询今天每小时的数据统计
方法一:SELECT t1.HOUR date, COUNT( t2.HOUR ) dateCount FROM ( SELECT DATE_FORMAT( DATE_SUB( DATE_FORMAT( NOW(), '%Y-%m-%d' ), INTERVAL ( -( @i := @i + 1 ) ) HOUR ), '%H' ) AS 'HOUR' FROM ( SELECT a FROM ( SELECT '1' AS a UNION SELECT.原创 2021-12-23 20:21:49 · 1579 阅读 · 0 评论 -
mysql 查询本月所有天数统计对应数据
用到的函数:获取本月第一天:select date_add(curdate(),interval -day(curdate())+1 day)获取本月最后一天:select last_day(curdate())分为三个部分:1.根据时间分组统计数据 SELECT count(*) AS sum, DATE_FORMAT( createOn, '%Y-%m-%d' ) AS 'date' FROM work_schdule_item_info ...原创 2021-07-06 10:02:44 · 2278 阅读 · 1 评论 -
SQL INSERT INTO SELECT 语句 (笔记)
SQLINSERT INTO SELECT语句 详解地址https://www.runoob.com/sql/sql-insert-into-select.html转载 2021-01-11 16:35:43 · 120 阅读 · 0 评论 -
Mysql-Join 关联查询之索引失效问题
执行sql:SELECT a.id, a.storeId, a.wangwangid, a.type, a.statsType, a.storetext, a.storetextImgs, a.addTime, s.user_account AS userAccount, a.uid, a.umoney, a.utype, g.goods_price AS goodsPrice FROM appeals a LEFT JOIN sys_user s ON a.uid .原创 2020-12-08 16:43:52 · 1544 阅读 · 1 评论 -
mysql group_concat() 多行合并一个字段
mysql:group_concat() 函数可以将多行的字段合并成一个字段默认用 ,连接mysql :distinct 去重复类容这里用 group by 进行分组可以根据uid进行不同合并select uid,group_concat(distinct store_name) as store_name from seller_store GROUP BY uid...原创 2020-11-23 19:26:00 · 574 阅读 · 0 评论 -
distinct合并结果集---以及SQL中distinct的用法
转自 :https://www.cnblogs.com/rainman/archive/2013/05/03/3058451.html#m11.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。表A:表B:1.作用于单列select distinct name from A执行后结果转载 2020-10-21 17:43:37 · 2679 阅读 · 0 评论 -
MySQL中exists和in的区别及使用场景
exists和in的使用方式: #对B查询涉及id,使用索引,故B表效率高,可用大表-->外小内大select*fromAwhereexists (select*fromBwhereA.id=B.id);#对A查询涉及id,使用索引,故A表效率高,可用大表-->外大内小select*fromAwhereA.idin(selectidfromB); 1、exists是对外表做loop循环,每次loop循环再对内表(子查询...转载 2020-06-29 16:22:39 · 312 阅读 · 0 评论 -
mysql 处理根据ID groub by 分组并根据创建时间排序 筛选最新的数据
在查询时出现了 根据ID 分组自动获取到最早的一条记录 >>>>这里我要获取的是最新的记录 所以是有问题解决方法根据分组获取 ID ,yong max(时间) 函数获取最大的创建时间 ,根据时间和ID获取需要的对应记录 例如:truncate table comment;INSERT INTO `comment` (`id`, `user_id`, `...转载 2019-06-17 18:10:39 · 4119 阅读 · 2 评论 -
sql优化
--导致查询缓慢的原因数据量过大 表设计不合理 sql语句写得不好 没有合理使用索引-- 针对SQL语句的优化查询语句中不要使用 * 尽量减少子查询,使用关联查询(left join,right join,inner join)替代 减少使用IN或者NOT IN ,使用exists,not exists或者关联查询语句替代 or 的查询尽量用 union或者union al...原创 2019-01-16 14:43:04 · 179 阅读 · 0 评论 -
mysql 将多行某个字段用“ ,”拼接成功一个字段的需求
如图:SELECT group_concat( app_id ) AS 'appId'FROM t_application_infoWHERE user_id =5其他字段不受影响,这里只需要这一个字段所以只显示这一个字段注:上面的情况会把所有的数据都合并成一条多条合并处理SELECT a.space_id, a.spa...原创 2018-12-10 15:18:05 · 1614 阅读 · 0 评论 -
mysql 编写不停变更数据状态的sql,类似于点击某个按钮,点击开启,开启后点击关闭
update 表 set A = (case when A=满足一定的条件 then '111' else '222' end) UPDATE third_party SET p_static = ( CASE WHEN p_static = 1 THEN 2 ELSE 1 END ) WHERE p_id = #{pId} ...原创 2018-10-25 16:22:11 · 232 阅读 · 0 评论 -
mysql 时间查询的问题,查询本天,或者任意某两个时间段的方法
1.根据时间查询数据一般数据库存放的时间是完整的 例如:yyyy年MM月dd日 HH:mm:ss这种格式查询某天时用 等于 的方式查询不到结果,解决方式:and ( datediff ( creatTime, '2018-10-16' ) = 0 )DATEDIFF() 函数返回两个日期之间的时间,用这个时间差来比较2.查询自定义的时间段的数据时(包含A,B时间是同一天的...原创 2018-10-17 11:11:27 · 897 阅读 · 0 评论 -
Mybatis 中的常用字符转义
常用转义&lt; < 小于 &gt; > 大于 &amp; & 并且 &apos; ' 单引号 &quot; " 双引号 另外一种,就是<![CDATA[ ]]>符号。 在mybatis中这种符号将不会解析如: <![CDATA[ ...原创 2018-10-08 15:37:01 · 403 阅读 · 0 评论 -
Mysql根据指定指定字符拆分某个字段,分割成多条记录(去重复)
1.如图2.sqlSELECT DISTINCT substring_index( substring_index( a.device_id, ',', b.help_topic_id + 1 ), ',',- 1 ) NAME FROM tb_tabrecord a JOIN mysql.help_topic b ON b.help_topic_id < ( leng...原创 2018-10-08 15:29:17 · 15155 阅读 · 11 评论