可以在sql查询分析器里执行的sql语句
1.十天的路码数2.每日公里数等于当日的路码数减去昨日的路码数。3.昨日路码数没有如何处理2009-2-15,张三,沪f-h5567,56782;2009-2-16,张三...
1.十天的路码数
2.每日公里数等于当日的路码数减去昨日的路码数。
3.昨日路码数没有如何处理
2009-2-15,张三,沪f-h5567,56782;2009-2-16,张三,沪f-h5567,56792
表结构:报送日期,司机姓名,车牌号,当日路码数,当日公里数=当日的路码数-昨日的路码数,当日公里数就是10公里。如何update全部的记录的公里数?
另有可能路码数为null的记录,如何处理?
非常感谢!!! 展开
2.每日公里数等于当日的路码数减去昨日的路码数。
3.昨日路码数没有如何处理
2009-2-15,张三,沪f-h5567,56782;2009-2-16,张三,沪f-h5567,56792
表结构:报送日期,司机姓名,车牌号,当日路码数,当日公里数=当日的路码数-昨日的路码数,当日公里数就是10公里。如何update全部的记录的公里数?
另有可能路码数为null的记录,如何处理?
非常感谢!!! 展开
4个回答
2020-12-16 · MySQL开源数据库领先者
关注
展开全部
SQL 语句摘要可以用在MySQL的各个方面,比如 性能字典里对语句的分析,查询重写插件规则改写等等。
接下来依次看下语句摘要在这两方面的使用。
1. 性能字典
mysql> call sys.ps_setup_enable_consumer('statements');
+---------------------+
| summary |
+---------------------+
| Enabled 4 consumers |
+---------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
开启后,执行几次之前的几条 SQL。
完后可以很方便的从 sys 库里分析这类语句的执行情况,包括执行次数,执行时间,扫描的记录数,锁定的时间,是否用到排序等等。
2. 查询重写插件
比如要阻止对表 p1 通过字段 r1 的删除动作,可以用查询重写插件在 MySQL 语句分析层直接转换,这时候就得用到摘要函数 statement_digest_text。
假设:表 p1 字段 id 值全部为正。
delete from p1 where id = 1000;
要改写为,
delete from p1 where id = -1;
利用函数 statement_digest_text 来定制这条 SQL 的重写规则。
mysql> INSERT INTO query_rewrite.rewrite_rules (pattern, replacement,pattern_database) -> VALUES( -> statement_digest_text('delete from p1 where id = 1000') , -> statement_digest_text('delete from p1 where id = -1'), -> 'ytt' -> );Query OK, 1 row affected (0.01 sec)
语句被查询重写后的效果:
mysql> delete from p1 where id = 20000;Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show warnings\G*************************** 1. row *************************** Level: Note Code: 1105Message: Query 'delete from p1 where id = 20000' rewritten to 'DELETE FROM `p1` WHERE `id` = - 20000' by a query rewrite plugin1 row in set (0.00 sec)mysql> select count(*) from p1;+----------+| count(*) |+----------+| 9000001 |+----------+1 row in set (1.59 sec)
总结
MySQL 8.0 新增的语句摘要函数可以很方便的分析 SQL 语句执行的各个方面,比以前分析类似的场景要简单的多。
接下来依次看下语句摘要在这两方面的使用。
1. 性能字典
mysql> call sys.ps_setup_enable_consumer('statements');
+---------------------+
| summary |
+---------------------+
| Enabled 4 consumers |
+---------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
开启后,执行几次之前的几条 SQL。
完后可以很方便的从 sys 库里分析这类语句的执行情况,包括执行次数,执行时间,扫描的记录数,锁定的时间,是否用到排序等等。
2. 查询重写插件
比如要阻止对表 p1 通过字段 r1 的删除动作,可以用查询重写插件在 MySQL 语句分析层直接转换,这时候就得用到摘要函数 statement_digest_text。
假设:表 p1 字段 id 值全部为正。
delete from p1 where id = 1000;
要改写为,
delete from p1 where id = -1;
利用函数 statement_digest_text 来定制这条 SQL 的重写规则。
mysql> INSERT INTO query_rewrite.rewrite_rules (pattern, replacement,pattern_database) -> VALUES( -> statement_digest_text('delete from p1 where id = 1000') , -> statement_digest_text('delete from p1 where id = -1'), -> 'ytt' -> );Query OK, 1 row affected (0.01 sec)
语句被查询重写后的效果:
mysql> delete from p1 where id = 20000;Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show warnings\G*************************** 1. row *************************** Level: Note Code: 1105Message: Query 'delete from p1 where id = 20000' rewritten to 'DELETE FROM `p1` WHERE `id` = - 20000' by a query rewrite plugin1 row in set (0.00 sec)mysql> select count(*) from p1;+----------+| count(*) |+----------+| 9000001 |+----------+1 row in set (1.59 sec)
总结
MySQL 8.0 新增的语句摘要函数可以很方便的分析 SQL 语句执行的各个方面,比以前分析类似的场景要简单的多。
展开全部
3路码数为null的记录,建议首先更新为前一天的路码数
2
select t1.路码数-t2.路码数
from table t1,table t2
where datadiff(day, t2.日期,t1.日期)=1
1
select top 10 路码数
from table
order by 日期 desc
2
select t1.路码数-t2.路码数
from table t1,table t2
where datadiff(day, t2.日期,t1.日期)=1
1
select top 10 路码数
from table
order by 日期 desc
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update table
set 当日公里数=当日的路码数+当日路码数
描述太不清楚了。另外null的你是想让它继续null呢,还是更新成0呢
set 当日公里数=当日的路码数+当日路码数
描述太不清楚了。另外null的你是想让它继续null呢,还是更新成0呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把数据库结构发过来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询