From 83eefd51d79dc2c0fa778303042c581b4691e82e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eila=20V=C3=A4yrynen?= Date: Sun, 3 Dec 2023 13:28:36 +0200 Subject: Rearrenge rest of db actions. --- db/analyse.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 db/analyse.py (limited to 'db/analyse.py') diff --git a/db/analyse.py b/db/analyse.py new file mode 100644 index 0000000..a4076f5 --- /dev/null +++ b/db/analyse.py @@ -0,0 +1,22 @@ +from sqlalchemy.sql import text + +class DBAnalyse: + def __init__(self, db): + self.db = db + + def comparable(self, quiz_id,user1,user2): + sql = "SELECT q.question, q.neg_answer, q.pos_answer, \ + a1.answer, a2.answer, \ + 100 - ABS( a1.answer - a2.answer ) / 10 \ + FROM questionaires quiz \ + JOIN questions q ON q.id = ANY(quiz.questionset) \ + JOIN answers a1 ON a1.user_id = (:user1) \ + JOIN answers a2 ON a2.user_id = (:user2) \ + WHERE a1.question_id = q.id \ + AND a2.question_id = q.id \ + AND quiz.id = (:quiz_id);" + return self.db.session.execute( text(sql), { + "quiz_id":quiz_id, + "user1":user1, + "user2":user2 + } ).fetchall() -- cgit v1.2.3