修正sql语句。

This commit is contained in:
root 2025-03-01 13:06:28 +00:00
parent e4a17cd5a3
commit b1c83bf58f

View File

@ -58,12 +58,14 @@ VisitorStats Database::visitorStats(const std::string &url) {
std::list<VisitorStats> Database::mostViewedUrls(int n) { std::list<VisitorStats> Database::mostViewedUrls(int n) {
std::list<VisitorStats> ret; std::list<VisitorStats> ret;
sqlite3_stmt *statement = nullptr; sqlite3_stmt *statement = nullptr;
const char *query = "SELECT url, SUM(page_view_count) AS total_page_views " const char *query = R"(
"FROM visit_analysis " SELECT url, SUM(page_view_count) AS total_page_views
"GROUP BY url " FROM visit_analysis
"ORDER BY total_page_views DESC " GROUP BY url
"LIMIT ?;"; ORDER BY total_page_views DESC
LIMIT ?;
)";
if (sqlite3_prepare_v2(m_sqlite, query, -1, &statement, nullptr) == SQLITE_OK) { if (sqlite3_prepare_v2(m_sqlite, query, -1, &statement, nullptr) == SQLITE_OK) {
sqlite3_bind_int(statement, 1, n); sqlite3_bind_int(statement, 1, n);
@ -80,10 +82,13 @@ std::list<VisitorStats> Database::mostViewedUrls(int n) {
std::list<VisitorStats> Database::latestViewedUrls(int n) { std::list<VisitorStats> Database::latestViewedUrls(int n) {
std::list<VisitorStats> ret; std::list<VisitorStats> ret;
sqlite3_stmt *statement = nullptr; sqlite3_stmt *statement = nullptr;
const char *query = "SELECT url, last_view_time " const char *query = R"(
"FROM visit_analysis " SELECT url, MAX(last_view_time) AS latest_view_time
"ORDER BY last_view_time DESC " FROM visit_analysis
"LIMIT ?;"; GROUP BY url
ORDER BY latest_view_time DESC
LIMIT ?;
)";
if (sqlite3_prepare_v2(m_sqlite, query, -1, &statement, nullptr) == SQLITE_OK) { if (sqlite3_prepare_v2(m_sqlite, query, -1, &statement, nullptr) == SQLITE_OK) {
sqlite3_bind_int(statement, 1, n); sqlite3_bind_int(statement, 1, n);