| | |
| | | ) |
| | | SELECT N::NUMERIC(30, 0) FROM T WHERE LENGTH(S) < 1; |
| | | ---------------------------------------------------------------------------------------------- -1.测试 |
| | | select id,name from lf.sys_dir where name in ('测量(ESV)','勘察(EGE)','地灾(EGD)','洞库(EGD)') order by name; |
| | | |
| | | select (select string_agg(cast(id as varchar),',') from lf.sys_dir where name = a.name) "key",name "value" from lf.sys_dir a |
| | | where name in ('测量(ESV)','勘察(EGE)','地灾(EGD)','洞库(EGD)') group by name order by name; |
| | | |
| | | select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value" |
| | | from lf.sys_dir a |
| | | where name in ('基础测绘', '基础地灾', '基础勘察', '合规数据', '管理数据', '测量(ESV)', '勘察(EGE)', '地灾(EGD)', '洞库(EGD)') |
| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | |
| | | select id, name, code from lf.sys_dir order by id; |
| | | select fn_set_tab_codes(1, 1); select fn_set_tab_codes(0, 2); |
| | | ----------------------------------------------------------------------------------------------------- 13.获取目录编码过滤条件 |
| | | -- drop function fn_get_dirs(varchar); |
| | | create or replace function fn_get_dirs(name varchar) |
| | | ----------------------------------------------------------------------------------------------------- 13.获取目录编码过滤条件 * |
| | | -- drop function fn_get_dir_similar(varchar); |
| | | create or replace function fn_get_dir_similar(name varchar) |
| | | returns varchar as $$ |
| | | declare |
| | | code varchar; |
| | | str varchar := ''; |
| | | begin |
| | | for code in execute 'select code from lf.sys_dir where name=''' || name || '''' loop |
| | | str := str || ' or depcode like ''' || code || '%'''; |
| | | str := str || '|' || code; |
| | | end loop; |
| | | |
| | | if length(str) > 0 then |
| | | return substr(str, 5); |
| | | return substr(str, 1); |
| | | end if; |
| | | |
| | | return '1=1'; |
| | | end; |
| | | $$ language plpgsql; |
| | | |
| | | select * from lf.sys_meta where depcode similar to '(00|01|02)%'; |
| | | select fn_get_dirs('基础测绘'); select fn_get_dirs('测量(ESV)'); select * from lf.sys_meta where depcode like '0000%'; |
| | | ----------------------------------------------------------------------------------------------------- 14.FME日志表触发器 |
| | | -- drop function fn_meta_insert(); |
| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | -- 项目表 |
| | | select a.*,st_astext(geom) from bs.bs_project a; |
| | | |
| | | -- 按项目统计数据 |
| | | select name "名称", (select count(*) from lf.sys_meta b where b.dircode like a.code || '%') "文件数", |
| | | (select count(sizes) from lf.sys_meta b where b.dircode like a.code || '%') "数量(MB)" |
| | | (select sum(sizes) from lf.sys_meta b where b.dircode like a.code || '%') "数量(MB)" |
| | | from lf.sys_dir a where id > 1 and pid = 0; |
| | | |
| | | -- 按文件类型统计 |
| | | select type,count(*),count(sizes) from lf.sys_meta group by type; |
| | | select type,count(*),sum(sizes) from lf.sys_meta group by type; |
| | | |
| | | -- type类型:1-Shp文件,2-专题图,3-源数据,4-业务数据,5-管道分析,6-统计报告 |
| | | select * from lf.sys_download; |
| | |
| | | |
| | | -- 登录次数 |
| | | select b.uname, count(*) from lf.sys_login a inner join lf.sys_user b on a.userid = b.id group by uname; |
| | | |
| | | -- 按照大类统计 |
| | | select name, |
| | | (select count(b.id) from lf.sys_meta b where dircode similar to '(' || (select string_agg(code, '|') from lf.sys_dir c where c.name = a.name) || ')%') "count", |
| | | (select coalesce(sum(b.sizes), 0) from lf.sys_meta b where dircode similar to '(' || (select string_agg(code, '|') from lf.sys_dir c where c.name = a.name) || ')%') "sizes" |
| | | from lf.sys_dir a |
| | | where name in ('基础测绘', '基础地灾', '基础勘察', '合规数据', '管理数据', '测量(ESV)', '勘察(EGE)', '地灾(EGD)', '洞库(EGD)') |
| | | group by name |
| | | order by name; |
| | | --------------------------------------------------------- |
| | | select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value" |
| | | from lf.sys_dir a |
| | | where name in ('基础地灾', '基础勘察', '合规数据', '管理数据', '测量(ESV)', '勘察(EGE)', '地灾(EGD)', '洞库(EGD)') |
| | | group by name |
| | | order by key; |
| | | |
| | | |
| | | |
| | | select * from lf.sys_dir order by id |
| | | update lf.sys_dir set code=null; |
| | | select fn_set_tab_codes(0, 2); |
| | | select id,pid,name,code from lf.sys_dir where pid=0 order by code |
| | | |
| | | SELECT * from lf.sys_meta WHERE depcode similar to '(00|01|02)%'; |
| | | select count(b.sizes) from lf.sys_meta b where dircode similar to '(' || (select string_agg(code, '|') from lf.sys_dir c where c.name = '西气东输四线天然气管道工程(吐鲁番-中卫)(00116BT02)') || ')%' |
| | | select count(b.sizes),count(*) from lf.sys_meta b where dircode similar to '(02)%' group by depcode |
| | | select sum(b.sizes),count(*) from lf.sys_meta b group by dircode; |
| | | |
| | | |
| | | |
| | | -- 0100000000,02000000,030000,040100,0100000002,02000002,040102,0100000003,02000003,0100000001,02000001,040101,030001,01,02,02000001 |
| | | select * from lf.sys_meta where dircode like '01%' or dircode like '02%' or dircode like '030000%' |
| | | or dircode like '030001%' or dircode like '040100%' or dircode like '040101%' or dircode like '040102%'; |
| | |
| | | |
| | | <!-- 数据量统计 --> |
| | | <select id="countSizes" resultType="com.lf.server.entity.ctrl.CountEntity"> |
| | | select fn_get_fullname(depcode, 1) "m1", count(sizes) "sizes" |
| | | select fn_get_fullname(depcode, 1) "m1", sum(sizes) "sizes" |
| | | from lf.sys_meta |
| | | group by depcode |
| | | order by depcode; |