Hello,大家好!我是程序员阿飞!今天我分享一下上周工作期间学习到的有关SQL的知识点。
一、查询5分钟内的数据
select * from tb_log where createtime>=DATE_SUB(NOW(),INTERVAL 5 MINUTE);
参考网址
SELECT
b.longitude,
b.latitude
FROM
(
SELECT
a.longitude,
a.latitude,
( TIME_TO_SEC( NOW( ) ) - TIME_TO_SEC( a.createTime ) ) / 60 diffTime
FROM
(
SELECT
tmp.createTime,
t.DDUser_id,
t.longitude,
t.latitude
FROM
trajectory_data t
RIGHT JOIN ( SELECT DDUser_id, MAX( location_time ) AS 'createTime' FROM trajectory_data GROUP BY DDUser_id ) tmp ON t.location_time = tmp.createTime
AND t.DDUser_id = tmp.DDUser_id
) a
LEFT JOIN sign_record sr ON sr.user_id = a.DDUser_id
WHERE
sr.extra = '384e8da9-fb4f-408d-b13c-7e253e1aa943'
) b
WHERE
b.diffTime < 5
二、MySQL 中 You can't specify target table '表名' for update in FROM clause错误解决办法
不能先select出同一表中的某些值,再update这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值
解决方法:将查询的结果通过中间表查询一边再执行更新或删除操作即可避免
参考网址:
三、mysql中length字符长度函数使用方法
length: 一个汉字是算三个字符,一个数字或字母算一个字符。
char_length: 不管汉字还是数字或者是字母都算是一个字符。
四、Mysql查询不等于某值的所有记录
SELECT * FROM T_TABLE WHERE COL is null OR COL != 'C'
五、错误码: 1630 FUNCTION count does not exist. Check the 'Function Name Parsing and Resolution' section in
如sum() count() avg这些函数里面是这样子写的sum () sum和()分开了,不是挨着写的,所以报这个错
六、poi导出excel报错(Invalid row number (65536) outside allowable range (0..65535))
网址