zhibo/diagnose_current_follow_issue.sql
2026-01-03 15:32:31 +08:00

108 lines
2.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 诊断当前关注页面问题
-- 执行这个脚本来查看具体问题所在
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;