From 33c381be189fe399c7e0f556acca4bb3a0ee27b1 Mon Sep 17 00:00:00 2001 From: Lukas Davidovic Date: Mon, 8 May 2023 18:52:45 +0200 Subject: [PATCH] add database --- database/antihoax.db | Bin 0 -> 176128 bytes database/schema.sql | 288 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 288 insertions(+) create mode 100644 database/antihoax.db create mode 100644 database/schema.sql diff --git a/database/antihoax.db b/database/antihoax.db new file mode 100644 index 0000000000000000000000000000000000000000..3075b0a3c9ba2d60fd911b88ec852304be77b66f GIT binary patch literal 176128 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 4) as high_risk_sources, + (SELECT COUNT(*) FROM sources WHERE created_at > datetime('now', '-7 days')) as sources_added_week, + (SELECT COUNT(*) FROM reports WHERE created_at > datetime('now', '-1 day')) as reports_today; + +-- View: Top risky domains +CREATE VIEW top_risky_domains AS +SELECT + domain, + COUNT(*) as source_count, + AVG(risk_level) as avg_risk_level, + MAX(risk_level) as max_risk_level, + GROUP_CONCAT(DISTINCT c.name) as categories +FROM sources s +LEFT JOIN source_categories sc ON s.id = sc.source_id +LEFT JOIN categories c ON sc.category_id = c.id +WHERE s.status = 'verified' +GROUP BY domain +HAVING AVG(risk_level) >= 3 +ORDER BY avg_risk_level DESC, source_count DESC; \ No newline at end of file