108 lines
2.6 KiB
MySQL
108 lines
2.6 KiB
MySQL
|
|
-- 诊断当前关注页面问题
|
|||
|
|
-- 执行这个脚本来查看具体问题所在
|
|||
|
|
|
|||
|
|
SELECT '========== 1. 检查当前登录用户的关注记录 ==========' as step;
|
|||
|
|
|
|||
|
|
-- 查看所有关注记录
|
|||
|
|
SELECT
|
|||
|
|
fr.id,
|
|||
|
|
fr.follower_id,
|
|||
|
|
fr.follower_nickname,
|
|||
|
|
fr.followed_id,
|
|||
|
|
fr.followed_nickname,
|
|||
|
|
fr.follow_status,
|
|||
|
|
fr.is_deleted,
|
|||
|
|
fr.create_time
|
|||
|
|
FROM eb_follow_record fr
|
|||
|
|
ORDER BY fr.create_time DESC
|
|||
|
|
LIMIT 20;
|
|||
|
|
|
|||
|
|
SELECT '========== 2. 检查关注状态值的分布 ==========' as step;
|
|||
|
|
|
|||
|
|
SELECT
|
|||
|
|
follow_status,
|
|||
|
|
COUNT(*) as count,
|
|||
|
|
GROUP_CONCAT(DISTINCT CONCAT(follower_id, '->', followed_id) LIMIT 5) as examples
|
|||
|
|
FROM eb_follow_record
|
|||
|
|
GROUP BY follow_status;
|
|||
|
|
|
|||
|
|
SELECT '========== 3. 检查主播用户 ==========' as step;
|
|||
|
|
|
|||
|
|
SELECT
|
|||
|
|
u.uid,
|
|||
|
|
u.nickname,
|
|||
|
|
u.is_streamer,
|
|||
|
|
COUNT(DISTINCT lr.id) as room_count,
|
|||
|
|
SUM(CASE WHEN lr.is_live = 1 THEN 1 ELSE 0 END) as live_count
|
|||
|
|
FROM eb_user u
|
|||
|
|
LEFT JOIN eb_live_room lr ON u.uid = lr.uid
|
|||
|
|
WHERE u.is_streamer = 1
|
|||
|
|
GROUP BY u.uid, u.nickname, u.is_streamer
|
|||
|
|
ORDER BY room_count DESC;
|
|||
|
|
|
|||
|
|
SELECT '========== 4. 检查所有直播间 ==========' as step;
|
|||
|
|
|
|||
|
|
SELECT
|
|||
|
|
lr.id,
|
|||
|
|
lr.uid,
|
|||
|
|
u.nickname as streamer_name,
|
|||
|
|
lr.title,
|
|||
|
|
lr.is_live,
|
|||
|
|
lr.started_at,
|
|||
|
|
lr.view_count
|
|||
|
|
FROM eb_live_room lr
|
|||
|
|
LEFT JOIN eb_user u ON lr.uid = u.uid
|
|||
|
|
ORDER BY lr.is_live DESC, lr.id DESC
|
|||
|
|
LIMIT 20;
|
|||
|
|
|
|||
|
|
SELECT '========== 5. 模拟关注页面查询(用户43) ==========' as step;
|
|||
|
|
|
|||
|
|
-- 获取用户43的关注列表
|
|||
|
|
SELECT
|
|||
|
|
'用户43的关注列表' as info,
|
|||
|
|
fr.followed_id,
|
|||
|
|
fr.followed_nickname,
|
|||
|
|
fr.follow_status,
|
|||
|
|
u.is_streamer
|
|||
|
|
FROM eb_follow_record fr
|
|||
|
|
LEFT JOIN eb_user u ON fr.followed_id = u.uid
|
|||
|
|
WHERE fr.follower_id = 43
|
|||
|
|
AND fr.is_deleted = 0;
|
|||
|
|
|
|||
|
|
-- 查找这些被关注用户的直播间
|
|||
|
|
SELECT
|
|||
|
|
'用户43关注的主播的直播间' as info,
|
|||
|
|
lr.id as room_id,
|
|||
|
|
lr.uid as streamer_uid,
|
|||
|
|
u.nickname as streamer_name,
|
|||
|
|
lr.title as room_title,
|
|||
|
|
lr.is_live,
|
|||
|
|
lr.started_at
|
|||
|
|
FROM eb_live_room lr
|
|||
|
|
INNER JOIN eb_user u ON lr.uid = u.uid
|
|||
|
|
WHERE lr.uid IN (
|
|||
|
|
SELECT fr.followed_id
|
|||
|
|
FROM eb_follow_record fr
|
|||
|
|
WHERE fr.follower_id = 43
|
|||
|
|
AND fr.is_deleted = 0
|
|||
|
|
AND fr.follow_status IN ('1', '关注')
|
|||
|
|
)
|
|||
|
|
ORDER BY lr.is_live DESC;
|
|||
|
|
|
|||
|
|
SELECT '========== 6. 检查是否有follow_status不是1的记录 ==========' as step;
|
|||
|
|
|
|||
|
|
SELECT
|
|||
|
|
follow_status,
|
|||
|
|
COUNT(*) as count
|
|||
|
|
FROM eb_follow_record
|
|||
|
|
WHERE follow_status != '1'
|
|||
|
|
GROUP BY follow_status;
|
|||
|
|
|
|||
|
|
SELECT '========== 7. 检查用户表中的is_streamer字段 ==========' as step;
|
|||
|
|
|
|||
|
|
SELECT
|
|||
|
|
is_streamer,
|
|||
|
|
COUNT(*) as count
|
|||
|
|
FROM eb_user
|
|||
|
|
GROUP BY is_streamer;
|