git repos / oastat_static_web_generator

commit 33fef986

sago007 · 2025-12-28 17:03
33fef9862562bf29e27877b160be796f2109b077 patch · browse files
parent 22ac6cd641e166f8aa69b344754e49a8a50bdc84

Select the last score for each player

Changed files

M src/pages/game.cpp before
diff --git a/src/pages/game.cpp b/src/pages/game.cpp index 575e432..69bc622 100644 --- a/src/pages/game.cpp +++ b/src/pages/game.cpp
@@ -96,15 +96,16 @@ void getRecentGames(cppdb::session& database, std::vector<OastatGame>& games) {
}
void getGameScoreTotal(cppdb::session& database, int gamenumber, std::vector<std::pair<int,int>>& scores) {
- std::string sql = "select player, count(0) c from oastat.oastat_points where gamenumber = ? group by player order by c desc";
+ std::string sql = "SELECT player, score FROM oastat.oastat_points p1 WHERE gamenumber = ? AND second = (SELECT MAX(second) FROM oastat.oastat_points p2 WHERE p2.player = p1.player AND p2.gamenumber = ?) ORDER BY score DESC";
cppdb::statement st = database.prepare(sql);
st.bind(1, gamenumber);
+ st.bind(2, gamenumber);
cppdb::result res = st.query();
while(res.next()) {
int playerid;
- int count;
- res >> playerid >> count;
- scores.push_back(std::pair<int,int>(playerid, count));
+ int score;
+ res >> playerid >> score;
+ scores.push_back(std::pair<int,int>(playerid, score));
}
}