I need to know what the following queries accomplish, however I'm in doubt, as I'm starting to study SQL now. Can you help me?
"SELECT user_id, CAST(SUM(points_per_badge) AS INT) "
+ "FROM (SELECT p.user_id AS user_id, (COUNT(1) * b.quantity) AS points_per_badge "
+ "FROM CX_PUNCTUATION p JOIN CX_BADGE b ON b.id = p.badge_id WHERE p.user_id NOT IN :ignoredUsers "
+ "GROUP BY user_id, b.quantity) AS points_per_user GROUP BY user_id ORDER BY 2 DESC, 1"
and
"SELECT p.badge_id, CAST((COUNT(1) * b.quantity) AS INT) "
+ "FROM CX_PUNCTUATION p JOIN CX_BADGE b ON b.id = p.badge_id WHERE p.user_id = :userId "
+ "GROUP BY p.badge_id, b.quantity"