Joining tables, if percentage is above certain value
- by CluelessGerman
My question is similar to this one:
Compare rows and get percentage
However, little different. I adapted my question to the other post.
I got 2 tables.
First table:
user_id | post_id
1 1
1 2
1 3
2 12
2 15
And second table:
post_id | rating
1 1
1 2
1 3
2 1
2 5
3 null
3 1
3 4
12 4
15 1
So now I would like to count the rating for each post, in the second table.
If the rating has more than, lets say, 50% positive ratings than I want to get the post_id and going it to the post_id from table one and add 1 to the user_id.
At the end it would return the user_id with the number of positive posts.
The result for above table would be:
user_id | helpfulPosts
1 2
2 1
The post with post_id 1 and 3 have positive rating, because more than 50% have ratings of 1-3. The post with id = 2 is not positive, because the rating is exactly 50%.
How would I achieve this?
For clarification:
It's a mysql rdbm and a positive post, is one where the number of rating_ids with 1, 2 and 3 are more than half of the overall rating. Basically the same thing, from the other thread I posted above.