✨ get questions based on answercount
Co-authored-by: haraldnilsen <harald_998@hotmail.com> Signed-off-by: Sindre Kjelsrud <kjelsrudsindre@gmail.com>
This commit is contained in:
		
							parent
							
								
									35545070a9
								
							
						
					
					
						commit
						bda57ee28e
					
				
					 1 changed files with 24 additions and 8 deletions
				
			
		|  | @ -45,13 +45,29 @@ func GetUserQuestions(respondentID int) ([]UserQuestions, error) { | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	getQuestionsStatement := ` | 	getQuestionsStatement := ` | ||||||
|  | 		WITH FilteredQuestions AS ( | ||||||
|  | 			SELECT s.SpørsmålID, s.tekst | ||||||
|  | 			FROM Spørsmål s | ||||||
|  | 			LEFT JOIN ( | ||||||
|  | 				SELECT ss.spørsmålID | ||||||
|  | 				FROM Spørsmålsvar ss | ||||||
|  | 				LEFT JOIN SvarVurdering sv ON ss.svarID = sv.svarID | ||||||
|  | 				GROUP BY ss.spørsmålID | ||||||
|  | 				HAVING COUNT(sv.vurderingID) < 10 | ||||||
|  | 			) AS subquery ON s.spørsmålID = subquery.spørsmålID | ||||||
|  | 			WHERE subquery.spørsmålID IS NOT NULL | ||||||
|  | 			LIMIT 5 | ||||||
|  | 		) | ||||||
|  | 		 | ||||||
|  | 		SELECT * FROM FilteredQuestions | ||||||
|  | 		UNION ALL | ||||||
|  | 		SELECT * FROM ( | ||||||
| 			SELECT s.SpørsmålID, s.tekst | 			SELECT s.SpørsmålID, s.tekst | ||||||
| 			FROM Spørsmål s | 			FROM Spørsmål s | ||||||
| 		LEFT JOIN Spørsmålsvar ss ON s.spørsmålID = ss.spørsmålID |  | ||||||
| 		LEFT JOIN SvarVurdering sv ON ss.svarID = sv.svarID AND sv.respondentID = $1 |  | ||||||
| 		WHERE sv.vurderingID IS NULL |  | ||||||
| 			ORDER BY RANDOM() | 			ORDER BY RANDOM() | ||||||
| 		LIMIT 5; | 			LIMIT 5 | ||||||
|  | 		) RandomQuestions | ||||||
|  | 		WHERE NOT EXISTS (SELECT 1 FROM FilteredQuestions)	 | ||||||
| 	` | 	` | ||||||
| 
 | 
 | ||||||
| 	stmt, err := db.Prepare(getQuestionsStatement) | 	stmt, err := db.Prepare(getQuestionsStatement) | ||||||
|  | @ -62,7 +78,7 @@ func GetUserQuestions(respondentID int) ([]UserQuestions, error) { | ||||||
| 
 | 
 | ||||||
| 	var questionAnswers []UserQuestions | 	var questionAnswers []UserQuestions | ||||||
| 
 | 
 | ||||||
| 	rows, err := stmt.Query(respondentID) | 	rows, err := stmt.Query() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return questionAnswers, err | 		return questionAnswers, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Reference in a new issue
	
	 Sindre Kjelsrud
						Sindre Kjelsrud