28 lines
1.6 KiB
Bash
28 lines
1.6 KiB
Bash
#!/bin/bash
|
||
# L2 每个课时首次通关耗时统计 - 优化版
|
||
export PGPASSWORD='LdfjdjL83h3h3^$&**YGG*'
|
||
PSQL="psql -h bj-postgres-16pob4sg.sql.tencentcdb.com -p 28591 -U ai_member -d vala_bi -t -A"
|
||
|
||
echo "chapter_id|season|unit|lesson|完成人数|平均用时_分钟"
|
||
|
||
# 获取章节列表
|
||
while IFS='|' read -r cid season unit lesson; do
|
||
# 查首次完成记录,来自8张分表 (不查 component 耗时那步太慢,直接用 chapter 表做简单计数)
|
||
# 先只统计完成人数
|
||
count=$($PSQL -c "
|
||
SELECT COUNT(*)
|
||
FROM (
|
||
SELECT user_id FROM bi_user_chapter_play_record_0 WHERE play_status=1 AND chapter_id=$cid
|
||
UNION ALL SELECT user_id FROM bi_user_chapter_play_record_1 WHERE play_status=1 AND chapter_id=$cid
|
||
UNION ALL SELECT user_id FROM bi_user_chapter_play_record_2 WHERE play_status=1 AND chapter_id=$cid
|
||
UNION ALL SELECT user_id FROM bi_user_chapter_play_record_3 WHERE play_status=1 AND chapter_id=$cid
|
||
UNION ALL SELECT user_id FROM bi_user_chapter_play_record_4 WHERE play_status=1 AND chapter_id=$cid
|
||
UNION ALL SELECT user_id FROM bi_user_chapter_play_record_5 WHERE play_status=1 AND chapter_id=$cid
|
||
UNION ALL SELECT user_id FROM bi_user_chapter_play_record_6 WHERE play_status=1 AND chapter_id=$cid
|
||
UNION ALL SELECT user_id FROM bi_user_chapter_play_record_7 WHERE play_status=1 AND chapter_id=$cid
|
||
) t;
|
||
" 2>/dev/null || echo "0")
|
||
|
||
echo "$cid|$season|$unit|$lesson|${count:-0}|NA"
|
||
done < <($PSQL -c "SELECT id, course_season, course_unit, course_lesson FROM bi_level_unit_lesson WHERE course_level='L2' ORDER BY id;")
|