Revision 53034
Added by Tsampikos Livisianos over 5 years ago
stats_db_schema.sql | ||
---|---|---|
930 | 930 |
CREATE TABLE "shadow".chart_project_repos AS SELECT pr.id, d.name, count (distinct r.id) FROM "shadow".result r, "shadow".project_results pr, "shadow".datasource d, "shadow".datasource_results dr WHERE r.id=dr.result AND d.id=dr.id AND r.id=pr.result AND r.type='publication' GROUP BY pr.id, d.name; |
931 | 931 |
|
932 | 932 |
-- funder nums |
933 |
-- CREATE TABLE "shadow".numbers_funder AS SELECT funder, count(distinct r.id) AS pubstotal, count(distinct CASE WHEN r.bestlicense='Open Access' THEN r.id END) AS oapubs, count(distinct CASE WHEN r.bestlicense='Restricted' THEN r.id END) AS respubs, count(distinct CASE WHEN r.bestlicense='Embargo' THEN r.id END) AS embpubs, count(distinct p.id) AS projpubs, (SELECT count(distinct p2.id) FROM "shadow".project p2 WHERE p2.funder=p.funder GROUP BY p2.funder) AS projtotal FROM "shadow".project p, "shadow".project_results pr, "shadow".result r WHERE p.id=pr.id AND pr.result=r.id AND r.type='publication' GROUP BY funder ORDER BY funder; |
|
933 | 934 |
|
934 | 935 |
-- funder charts |
936 |
-- CREATE TABLE "shadow".chart_funder_year AS SELECT p.funder, r.year, count(distinct r.id) FROM "shadow".result r, "shadow".project_results pr, "shadow".project p WHERE r.id=pr.result AND pr.id=p.id AND r.type='publication' AND r.year >= 2007 AND r.year <= extract(YEAR from now()) GROUP BY p.funder, r.year ORDER BY p.funder, r.year; |
|
937 |
-- CREATE TABLE "shadow".chart_funder_license AS SELECT p.funder, r.bestlicense, count(distinct r.id) from "shadow".result r, "shadow".project_results pr, "shadow".project p WHERE r.id=pr.result AND pr.id=p.id AND r.type='publication' GROUP BY p.funder, r.bestlicense ORDER BY p.funder, r.bestlicense; |
|
938 |
-- CREATE TABLE "shadow".chart_funder_fp7 AS SELECT p.funder, r.year, count(distinct r.id) from "shadow".result r, "shadow".project_results pr, "shadow".project p, "shadow".project_results pr2, "shadow".project p2 WHERE r.id=pr.result AND pr.id=p.id AND pr2.result=r.id AND pr2.id=p2.id AND p2.funding_lvl0='FP7' AND r.year >= 2007 AND r.year <= extract(YEAR from now()) GROUP BY p.funder, r.year ORDER BY p.funder, r.year; |
|
935 | 939 |
|
940 |
|
|
936 | 941 |
END;$$; |
937 | 942 |
|
938 | 943 |
-- |
... | ... | |
966 | 971 |
CREATE INDEX chart_project_license_id ON "shadow".chart_project_license USING btree(id); |
967 | 972 |
CREATE INDEX chart_project_repos_id ON "shadow".chart_project_repos USING btree(id); |
968 | 973 |
|
974 |
-- funder nums |
|
975 |
-- CREATE INDEX numbers_funder_funder ON "shadow".numbers_funder USING btree(funder); |
|
969 | 976 |
|
977 |
-- funder charts |
|
978 |
-- CREATE INDEX chart_funder_year_funder ON "shadow".chart_funder_year USING btree(funder); |
|
979 |
-- CREATE INDEX chart_funder_license_funder ON "shadow".chart_funder_license USING btree(funder); |
|
980 |
|
|
981 |
|
|
970 | 982 |
END;$$; |
971 | 983 |
|
972 | 984 |
-- |
Also available in: Unified diff
fix accessmode/license