新增数据库相关语句脚本
This commit is contained in:
49
codes/games/sql/game/scripts/room_players.sql
Normal file
49
codes/games/sql/game/scripts/room_players.sql
Normal file
@@ -0,0 +1,49 @@
|
||||
-- ============================================================
|
||||
-- 脚本名称: room_players.sql
|
||||
-- 功 能: 查询指定房间号的所有历史对局及每局玩家信息
|
||||
-- 数据库 : grade_db + game_db(跨库,同一RDS实例)
|
||||
-- RDS: rm-bp1749tfxu2rpq670lo
|
||||
-- 说明 :
|
||||
-- 同一房间号可能在不同时间出现多次,结果按开房时间分组。
|
||||
-- 输出按「开房时间 DESC → 得分 DESC」排序,
|
||||
-- 相同开房时间的行即为同一场对局,可在结果中直接区分。
|
||||
-- ============================================================
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 【参数设置】 ← 修改这里
|
||||
-- ============================================================
|
||||
SET @p_agentid = 'veRa0qrBf0df2K1G4de2tgfmVxB2jxpv'; -- 代理商ID
|
||||
SET @p_roomcode = 0; -- 房间号(plgr_roomcode)
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 【查询】指定房间号的所有历史对局玩家明细
|
||||
-- 结果按开房时间倒序排列,同一开房时间为同一场对局
|
||||
-- ============================================================
|
||||
SELECT
|
||||
DATE_FORMAT(pg.plgr_createtime, '%Y-%m-%d %H:%i:%s') AS '创建时间',
|
||||
DATE_FORMAT(pg.plgr_overtime, '%Y-%m-%d %H:%i:%s') AS '结束时间',
|
||||
pg.plgr_roomcode AS '房间号',
|
||||
pg.plgr_playerid AS '玩家ID',
|
||||
p.play_nickname AS '玩家昵称',
|
||||
pg.plgr_score AS '得分',
|
||||
pg.plgr_winner AS '是否大赢家(1=是)',
|
||||
pg.plgr_deductcard AS '扣除房卡',
|
||||
DATE_FORMAT(pg.plgr_makewartime, '%Y-%m-%d %H:%i:%s') AS '开战时间',
|
||||
pg.plgr_roomtype AS '房间类型',
|
||||
pg.plgr_gameid AS '游戏ID',
|
||||
g.game_name AS '游戏名称'
|
||||
FROM
|
||||
grade_db.player_grade pg
|
||||
LEFT JOIN game_db.player p
|
||||
ON pg.plgr_agentid = p.play_agentid
|
||||
AND pg.plgr_playerid = p.play_playerid
|
||||
LEFT JOIN game_db.game g
|
||||
ON pg.plgr_gameid = g.game_gameid
|
||||
WHERE
|
||||
pg.plgr_agentid = @p_agentid
|
||||
AND pg.plgr_roomcode = @p_roomcode
|
||||
ORDER BY
|
||||
pg.plgr_createtime DESC,
|
||||
pg.plgr_score DESC;
|
||||
46
codes/games/sql/game/scripts/transfer_detail.sql
Normal file
46
codes/games/sql/game/scripts/transfer_detail.sql
Normal file
@@ -0,0 +1,46 @@
|
||||
-- ============================================================
|
||||
-- 脚本名称: transfer_detail.sql
|
||||
-- 功 能: 指定年月的转卡明细流水(每笔转卡一行)
|
||||
-- 数据库 : agent_db
|
||||
-- 用 法:
|
||||
-- 1. 修改下方【参数设置】中的变量值
|
||||
-- 2. 在 Navicat 中执行全部脚本
|
||||
-- 3. 结果集右键 → Export → Excel 可导出表格
|
||||
-- ============================================================
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 【参数设置】 ← 修改这里
|
||||
-- ============================================================
|
||||
SET @p_year = 2026; -- 年份
|
||||
SET @p_month = 3; -- 月份(1-12)
|
||||
SET @p_from_sales = 10437216; -- 发卡来源代理ID(上级代理)
|
||||
SET @p_agent_id = 'veRa0qrBf0df2K1G4de2tgfmVxB2jxpv'; -- 代理商ID
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 【明细报表】每一笔转卡流水记录,按转卡时间升序排列
|
||||
-- ============================================================
|
||||
SELECT
|
||||
t.from_sales AS '发卡代理ID',
|
||||
su_from.saus_nickname AS '发卡代理昵称',
|
||||
t.satr_salesid AS '接收代理ID',
|
||||
su_to.saus_nickname AS '接收代理昵称',
|
||||
t.satr_amount AS '转卡数量',
|
||||
DATE_FORMAT(t.satr_transfertime, '%Y-%m-%d %H:%i:%s') AS '转卡时间'
|
||||
FROM
|
||||
sales_transferbill t
|
||||
LEFT JOIN sales_user su_to
|
||||
ON t.satr_agentid = su_to.saus_agentid
|
||||
AND t.channel_id = su_to.saus_channelid
|
||||
AND t.satr_salesid = su_to.saus_salesid
|
||||
LEFT JOIN sales_user su_from
|
||||
ON t.satr_agentid = su_from.saus_agentid
|
||||
AND t.from_sales = su_from.saus_salesid
|
||||
WHERE
|
||||
t.satr_agentid = @p_agent_id
|
||||
AND t.from_sales = @p_from_sales
|
||||
AND YEAR(t.satr_transfertime) = @p_year
|
||||
AND MONTH(t.satr_transfertime) = @p_month
|
||||
ORDER BY
|
||||
t.satr_transfertime ASC;
|
||||
49
codes/games/sql/game/scripts/transfer_summary.sql
Normal file
49
codes/games/sql/game/scripts/transfer_summary.sql
Normal file
@@ -0,0 +1,49 @@
|
||||
-- ============================================================
|
||||
-- 脚本名称: transfer_summary.sql
|
||||
-- 功 能: 指定年月的转卡汇总报表(按下级代理分组,含合计行)
|
||||
-- 数据库 : agent_db
|
||||
-- 用 法:
|
||||
-- 1. 修改下方【参数设置】中的变量值
|
||||
-- 2. 在 Navicat 中执行全部脚本
|
||||
-- 3. 结果集右键 → Export → Excel 可导出表格
|
||||
-- ============================================================
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 【参数设置】 ← 修改这里
|
||||
-- ============================================================
|
||||
SET @p_year = 2026; -- 年份
|
||||
SET @p_month = 3; -- 月份(1-12)
|
||||
SET @p_from_sales = 10437216; -- 发卡来源代理ID(上级代理)
|
||||
SET @p_agent_id = 'veRa0qrBf0df2K1G4de2tgfmVxB2jxpv'; -- 代理商ID
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 【汇总报表】按下级代理分组,最后一行为转卡总计
|
||||
-- ============================================================
|
||||
SELECT
|
||||
IF(
|
||||
GROUPING(t.satr_salesid),
|
||||
'★ 合计',
|
||||
CAST(t.satr_salesid AS CHAR)
|
||||
) AS '代理ID',
|
||||
IF(
|
||||
GROUPING(t.satr_salesid),
|
||||
'—',
|
||||
MAX(su.saus_nickname)
|
||||
) AS '代理昵称',
|
||||
COUNT(t.idx) AS '转卡次数',
|
||||
SUM(t.satr_amount) AS '转卡总量'
|
||||
FROM
|
||||
sales_transferbill t
|
||||
LEFT JOIN sales_user su
|
||||
ON t.satr_agentid = su.saus_agentid
|
||||
AND t.channel_id = su.saus_channelid
|
||||
AND t.satr_salesid = su.saus_salesid
|
||||
WHERE
|
||||
t.satr_agentid = @p_agent_id
|
||||
AND t.from_sales = @p_from_sales
|
||||
AND YEAR(t.satr_transfertime) = @p_year
|
||||
AND MONTH(t.satr_transfertime) = @p_month
|
||||
GROUP BY
|
||||
t.satr_salesid WITH ROLLUP;
|
||||
45
codes/games/sql/game/scripts/update_player_roomcard.sql
Normal file
45
codes/games/sql/game/scripts/update_player_roomcard.sql
Normal file
@@ -0,0 +1,45 @@
|
||||
-- ============================================================
|
||||
-- 脚本名称: update_player_roomcard.sql
|
||||
-- 功 能: 更新指定玩家的房卡数量
|
||||
-- 数据库 : game_db(RDS: rm-bp1749tfxu2rpq670lo)
|
||||
-- 用 法:
|
||||
-- 1. 修改下方【参数设置】中的变量值
|
||||
-- 2. 先执行【查询确认】,核对目标玩家信息无误
|
||||
-- 3. 确认无误后再执行【执行更新】
|
||||
-- ============================================================
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 【参数设置】 ← 修改这里
|
||||
-- ============================================================
|
||||
SET @p_agentid = 'veRa0qrBf0df2K1G4de2tgfmVxB2jxpv'; -- 代理商ID
|
||||
SET @p_playerid = 0; -- 玩家ID(play_playerid)
|
||||
SET @p_roomcard = 0; -- 要设置的房卡数量
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 【第一步:查询确认】执行后确认玩家信息正确再继续
|
||||
-- ============================================================
|
||||
SELECT
|
||||
play_agentid AS '代理商ID',
|
||||
play_playerid AS '玩家ID',
|
||||
play_nickname AS '玩家昵称',
|
||||
play_roomcard AS '当前房卡数',
|
||||
@p_roomcard AS '更新后房卡数'
|
||||
FROM
|
||||
player
|
||||
WHERE
|
||||
play_agentid = @p_agentid
|
||||
AND play_playerid = @p_playerid;
|
||||
|
||||
|
||||
-- ============================================================
|
||||
-- 【第二步:执行更新】确认玩家信息无误后执行此段
|
||||
-- ============================================================
|
||||
UPDATE player
|
||||
SET play_roomcard = @p_roomcard
|
||||
WHERE play_agentid = @p_agentid
|
||||
AND play_playerid = @p_playerid;
|
||||
|
||||
-- 输出影响行数(1 = 更新成功,0 = 未找到对应玩家)
|
||||
SELECT ROW_COUNT() AS '影响行数(1=成功,0=未找到玩家)';
|
||||
Reference in New Issue
Block a user