From 4591d4d32244dc8ee208f0ae10bb108c8402c9f6 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Wed, 3 Dec 2025 15:37:02 +0800 Subject: [PATCH] fix: optimize SQL queries for token usage and top questions with improved username handling --- apps/application/sql/get_token_usage.sql | 15 ++++++--------- apps/application/sql/top_questions.sql | 6 +++--- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/apps/application/sql/get_token_usage.sql b/apps/application/sql/get_token_usage.sql index 848a36430..cf7ce2c69 100644 --- a/apps/application/sql/get_token_usage.sql +++ b/apps/application/sql/get_token_usage.sql @@ -1,12 +1,9 @@ - -SELECT - SUM(application_chat_record.message_tokens + application_chat_record.answer_tokens) as "token_usage", - COALESCE(application_chat.asker->>'username', '游客') as "username" -FROM - application_chat_record application_chat_record - LEFT JOIN application_chat application_chat ON application_chat."id" = application_chat_record.chat_id -${default_sql} +SELECT SUM(application_chat_record.message_tokens + application_chat_record.answer_tokens) as "token_usage", + MAX(COALESCE(application_chat.asker ->>'username', '游客')) as "username" +FROM application_chat_record application_chat_record + LEFT JOIN application_chat application_chat ON application_chat."id" = application_chat_record.chat_id + ${default_sql} GROUP BY - COALESCE(application_chat.asker->>'username', '游客') + application_chat.chat_user_id ORDER BY "token_usage" DESC diff --git a/apps/application/sql/top_questions.sql b/apps/application/sql/top_questions.sql index 5997934ec..1ddc2b3f5 100644 --- a/apps/application/sql/top_questions.sql +++ b/apps/application/sql/top_questions.sql @@ -1,10 +1,10 @@ -SELECT COUNT(application_chat_record."id") AS chat_record_count, - COALESCE(application_chat.asker ->>'username', '游客') AS username +SELECT COUNT(application_chat_record."id") AS chat_record_count, + MAX(COALESCE(application_chat.asker ->>'username', '游客')) as "username" FROM application_chat_record application_chat_record LEFT JOIN application_chat application_chat ON application_chat."id" = application_chat_record.chat_id ${default_sql} GROUP BY - COALESCE (application_chat.asker->>'username', '游客') + application_chat.chat_user_id ORDER BY chat_record_count DESC, username ASC