为了账号安全,请及时绑定邮箱和手机立即绑定

sql语句

标签:
MySQL

函数find_in_set(str,字段名)和locate(str,字段名)
原表数据:图片描述

对比的SQL语句:
SELECT from es_conventional_message WHERE LOCATE(58,receive_son_id)>0
执行的结果:
图片描述
SELECT
from es_conventional_message WHERE FIND_IN_SET(58,receive_son_id)
执行结果:图片描述

2 date_sub(date(),interval 表达式 type)
最近七天内
SELECT * from es_golble_message where create_time> UNIX_TIMESTAMP(date_sub(curdate(),interval 7 day))
图片描述
图片描述

3 查询所有订单,跟据月份分组

SELECT FROM_UNIXTIME( real_time_entry, '%Y年%m月' ) from es_bill_entry WHERE bill_type=0 GROUP BY FROM_UNIXTIME( real_time_entry, '%Y%m' )

执行结果:
图片描述

4.datetime 转为long类型
SELECT UNIX_TIMESTAMP(last_updated) from inbox

图片描述
5.根据条件求和,例如:求一个月中的某个单位某一天早餐的分数,中餐分数,晚餐的分数,价钱
SELECT FROM_UNIXTIME( creat_time, '%Y年%m月%d日' ), SUM( IF (order_type = 1, total_price, 0)) AS 早餐(元), SUM(IF(order_type = 1, count, 0)) AS 早餐分数, SUM(IF(order_type = 0, count, 0)) AS 午餐分数, SUM(IF(order_type = 1, count, 0)) AS 晚餐分数, SUM( IF (order_type = 0, total_price, 0)) AS 午餐, SUM( IF (order_type = 2, total_price, 0)) AS 晚餐, SUM(total_price) AS 合计, SUM(count) AS 合计分数 FROM es_food_orders WHERE units_id = 9 GROUP BY FROM_UNIXTIME( creat_time, '%Y年%m月%日' )图片描述

6 查询两个时间差值 (FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下:)
该sql 为项目中使用的update es_bxx_inbox_state SET states =2 WHERE fromuserid=? AND touserid=? AND TIMESTAMPDIFF(SECOND,from_unixtime(createtime),now())>?

这个为测试用的
select TIMESTAMPDIFF(SECOND,from_unixtime(createtime),now())图片描述

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消