Loading comments/examples.sql 0 → 100644 +42 −0 Original line number Diff line number Diff line -- Example queries -- get comments for a particular member SELECT * FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE targets.domain = ? AND targets.type = ? AND targets.cls = ? AND targets.member = ? -- get 100 most recent comments SELECT * FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE targets.domain = ? ORDER BY created_at DESC LIMIT 100 -- get number of comments for each target SELECT target.type AS type, target.cls AS cls, target.member AS member, count(*) AS cnt FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE target.domain = ? GROUP BY target.id -- get number of comments for each class (including comments for class members) SELECT target.cls AS cls, count(*) AS cnt FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE target.domain = ? AND target.type = 'class' GROUP BY target.cls -- get users with most upvotes SELECT user.username, SUM(c.vote) AS votes FROM users JOIN voted_comments c ON c.user_id = users.id GROUP BY user.id ORDER BY votes DESC comments/database.sql→comments/schema.sql +0 −42 Original line number Diff line number Diff line Loading @@ -71,45 +71,3 @@ CREATE VIEW voted_comments AS SELECT SUM(v.value) AS vote FROM visible_comments c LEFT JOIN votes v ON c.id = v.comment_id; -- Example queries -- get comments for a particular member SELECT * FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE targets.domain = ? AND targets.type = ? AND targets.cls = ? AND targets.member = ? -- get 100 most recent comments SELECT * FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE targets.domain = ? ORDER BY created_at DESC LIMIT 100 -- get number of comments for each target SELECT target.type AS type, target.cls AS cls, target.member AS member, count(*) AS cnt FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE target.domain = ? GROUP BY target.id -- get number of comments for each class (including comments for class members) SELECT target.cls AS cls, count(*) AS cnt FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE target.domain = ? AND target.type = 'class' GROUP BY target.cls -- get users with most upvotes SELECT user.username, SUM(c.vote) AS votes FROM users JOIN voted_comments c ON c.user_id = users.id GROUP BY user.id ORDER BY votes DESC Loading
comments/examples.sql 0 → 100644 +42 −0 Original line number Diff line number Diff line -- Example queries -- get comments for a particular member SELECT * FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE targets.domain = ? AND targets.type = ? AND targets.cls = ? AND targets.member = ? -- get 100 most recent comments SELECT * FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE targets.domain = ? ORDER BY created_at DESC LIMIT 100 -- get number of comments for each target SELECT target.type AS type, target.cls AS cls, target.member AS member, count(*) AS cnt FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE target.domain = ? GROUP BY target.id -- get number of comments for each class (including comments for class members) SELECT target.cls AS cls, count(*) AS cnt FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE target.domain = ? AND target.type = 'class' GROUP BY target.cls -- get users with most upvotes SELECT user.username, SUM(c.vote) AS votes FROM users JOIN voted_comments c ON c.user_id = users.id GROUP BY user.id ORDER BY votes DESC
comments/database.sql→comments/schema.sql +0 −42 Original line number Diff line number Diff line Loading @@ -71,45 +71,3 @@ CREATE VIEW voted_comments AS SELECT SUM(v.value) AS vote FROM visible_comments c LEFT JOIN votes v ON c.id = v.comment_id; -- Example queries -- get comments for a particular member SELECT * FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE targets.domain = ? AND targets.type = ? AND targets.cls = ? AND targets.member = ? -- get 100 most recent comments SELECT * FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE targets.domain = ? ORDER BY created_at DESC LIMIT 100 -- get number of comments for each target SELECT target.type AS type, target.cls AS cls, target.member AS member, count(*) AS cnt FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE target.domain = ? GROUP BY target.id -- get number of comments for each class (including comments for class members) SELECT target.cls AS cls, count(*) AS cnt FROM visible_comments c JOIN targets ON c.target_id = targets.id WHERE target.domain = ? AND target.type = 'class' GROUP BY target.cls -- get users with most upvotes SELECT user.username, SUM(c.vote) AS votes FROM users JOIN voted_comments c ON c.user_id = users.id GROUP BY user.id ORDER BY votes DESC