From c106a23bd3a852d21527ec2078490fbb68bb3f01 Mon Sep 17 00:00:00 2001 From: Robin Kupper Date: Wed, 16 Mar 2011 14:25:37 +0100 Subject: [PATCH] Fixed player stats to display even blocks that are only destroyed or created --- src/de/diddiz/LogBlock/PlayerAreaStats.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/diddiz/LogBlock/PlayerAreaStats.java b/src/de/diddiz/LogBlock/PlayerAreaStats.java index b74aab7..a6a8852 100644 --- a/src/de/diddiz/LogBlock/PlayerAreaStats.java +++ b/src/de/diddiz/LogBlock/PlayerAreaStats.java @@ -32,7 +32,7 @@ public class PlayerAreaStats implements Runnable ResultSet rs = null; try { conn.setAutoCommit(false); - ps = conn.prepareStatement("SELECT * FROM (SELECT `type` , count(`type`) AS `created` FROM `" + table + "` INNER JOIN `lb-players` USING (`playerid`) WHERE `playername` = ? AND x > ? AND x < ? AND z > ? AND z < ? AND `type` > 0 AND `type` != `replaced` GROUP BY `type`) AS c RIGHT JOIN (SELECT `replaced` AS `type`, count(`replaced`) AS `destroyed` FROM `" + table + "` INNER JOIN `lb-players` USING (`playerid`) WHERE `playername` = ? AND x > ? AND x < ? AND z > ? AND z < ? AND `replaced` > 0 AND `type` != `replaced` GROUP BY `replaced`) AS d ON c.`type` = d.`type` ORDER BY `created` + `destroyed` DESC LIMIT 15;", Statement.NO_GENERATED_KEYS); + ps = conn.prepareStatement("SELECT `type`, SUM(`created`) AS `created`, SUM(`destroyed`) AS `destroyed` FROM ((SELECT `type`, count(`type`) AS `created`, 0 AS `destroyed` FROM `" + table + "` INNER JOIN `lb-players` USING (`playerid`) WHERE `playername` = ? AND x > ? AND x < ? AND z > ? AND z < ? AND `type` > 0 AND `type` != `replaced` GROUP BY `type`) UNION (SELECT `replaced` AS `type`, 0 AS `created`, count(`replaced`) AS `destroyed` FROM `" + table + "` INNER JOIN `lb-players` USING (`playerid`) WHERE `playername` = ? AND x > ? AND x < ? AND z > ? AND z < ? AND `replaced` > 0 AND `type` != `replaced` GROUP BY `replaced`)) AS t GROUP BY `type` ORDER BY SUM(`created`) + SUM(`destroyed`) DESC LIMIT 15", Statement.NO_GENERATED_KEYS); ps.setString(1, name); ps.setInt(2, player.getLocation().getBlockX()-size); ps.setInt(3, player.getLocation().getBlockX()+size);