在同一个表里面,同一个字段不同行的数据需要做比较,这个时候就需要用到视图+内连接查询(符合条件查询)
视图的一个很重要的作用就是简化 查询语句。可以把很多的查询语句打包成一个视图。而且这个视图还可以重复使用,是复杂的子查询没有的。
select `31****_zongbiao`.`time` AS `time`,`31****_zongbiao`.`acc_nub` AS `acc_nub`,`31****_zongbiao`.`acc_name_bz` AS `acc_name_bz`,`31****_zongbiao`.`date_cc` AS `date_cc`,`31****_zongbiao`.`date_bzjbl` AS `date_bzjbl`,`31****_zongbiao`.`date_jz` AS `date_jz`,`31****_zongbiao`.`date_ye` AS `date_ye`,`31****_zongbiao`.`date_fy` AS `date_fy` from `31****_zongbiao` where (`31****_zongbiao`.`id` in (select `bb`.`id` from (select max(`31****_zongbiao`.`id`) AS `id` from `31****_zongbiao` group by `31****_zongbiao`.`acc_nub` having (count(`31****_zongbiao`.`acc_nub`) >= 1)) `bb`) and ((to_days(curdate()) - to_days(`31****_zongbiao`.`time`)) < 4))
同样的方法可以建立 另一个视图。
再用内连查询来找到相同的项目就好了
SELECT time,acc_nub,acc_name_bz,date_cc,date_bzjbl,date_jz,date_ye,date_fy,date_cc_1,date_bzjbl_1,date_jz_1,date_ye_1,date_fy_1 FROM jintian_zongbiao,zuotian_zongbiao where jintian_zongbiao.acc_nub = zuotian_zongbiao.acc_nub_1
查询就行。
视图 + 内连查询的意义就是 :把两个表 利用相同项目进行合并成一个表。然后导出来。
如果不这样做。纯利用python 的功能,就是两个二维数据列表,再合并成一个二维数据表,是非常麻烦费力气的。
所有的数据,都能利用数据库导出一个结论,那么用python直接分析其中有用的数据就好了。