2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Kirjallisen kokeen aikaraja videotilitietojen analysointiryhmän ulkoistamisrekrytointiin on 45 minuuttia.
Kysymys perustuu 3 taulukon rakenteeseen Kirjoita ongelman ratkaisemiseksi erityinen SQL-koodi (hauskan luokan määritelmä: videon luokittelu tai videon luojan luokittelu "hauskaksi") l.
Kysymys 1: Anna komedialuokan dws-taulukko analysoidaksesi tekijän kolme viimeisintä videota: tulosta kunkin videon luojan äskettäin julkaisemat 3 videota user_id, altistuminen kuluneella viikolla ja tykkäysten kokonaismäärä vaaditaan: Videon luoja user_id, altistuneiden käyttäjien määrä, tykkäyskäyttäjien määrä, näkymien määrä, tykkäysten määrä
- SELECT
- vu.video_user_id AS user_id,
- count( DISTINCT uva.video_id ) AS video_count,
- sum( CASE WHEN uva.action_type = 1 THEN 1 ELSE 0 END ) AS exposure_user_count,
- sum( CASE WHEN uva.action_type = 2 THEN 1 ELSE 0 END ) AS like_user_count,
- sum( CASE WHEN uva.action_type = 1 THEN 1 ELSE 0 END ) AS exposeure_count,
- sum( CASE WHEN uva.action_type = 2 THEN 1 ELSE 0 END ) AS like_count
- FROM
- t_user_video_action_d uva
- JOIN t_video_d v ON uva.video_id = v.video_id
- JOIN t_video_user_d vu ON v.video_user_id = vu.video_user_id
- WHERE
- v.video_type = ‘搞笑’
- AND uva.ds >= to_date ( to_char ( SYSDATE,’ YYYYMMDD’ ) - 7,’ YYYYMMDD’ )
- GROUP BY
- vu.video_user_id
- ORDER BY
- vu.video_user_id;
Kysymys 2: Tulosta numerotulos: Jos videossa, joka on luotu 20221103, videon kuvaus sisältää kaksi avainsanaa "hauskoja vitsejä" ja "talk show", se on "hauska sisältö Jos se ei sisällä näitä kahta". "ei-hauska sisältö", ja lopullinen tuotos on 20221103 päivittäinen määrä hauskoja ja ei-hauskoja videoita, joista on poistettu kaksoiskappaleet.
- SELECT
- count( DISTINCT CASE WHEN v.video_description LIKE ‘ %搞笑段子%’ OR v.video_description LIKE ‘ %脱口秀%’ THEN video_id ELSE NULL END ) AS funny_count,
- Count( DISTINCT CASE WHEN v.video_description NOT LIKE ‘ %搞笑段子%’ AND v.video_description NOT LIKE ‘ %脱口秀%’ THEN v.video_id ELSE NULL END ) AS not_funny_count form t_video_d v
- WHERE
- v.ds = to_date ( ‘ 20221103’,’ YYYYMMDD’ );
Kysymys 3: Laske jokaisen käyttäjän ensimmäisen videokuvauksen aikaleima Mitä nopeampi käyntinopeus, sitä parempia tulostuskenttiä ovat päivämäärä, käyttäjätunnus ja aikaleima.
- SELECT
- uva.ds AS date,
- uva.user_id,
- min( uva.TIMESTAMP ) AS first_exposure_timestamp form t_user_video_action_d uva
- WHERE
- uva.action_type = 1
- GROUP BY
- uva.user_id,
- uva.ds;
Kysymys 4: Tulosta dws-taulukko, jolla voit kysyä näkyvissä olevien aktiivisten käyttäjien 7 päivän säilytysprosenttia. Tuloskentät ovat päivämäärä, käyttäjätunnus ja 7 päivän säilytysprosentti. Taulukko 1 Käyttäjien käyttäytymistaulukko: t_user_video_action_d l Osio: ds ( Muoto vvvvKKpp) lEnsisijainen avain: user_id, video_id lMerkitys: Kokoonpano kaikista käyttäjän toiminnoista videossa, päivittäinen lisäys Kentän nimi Kentän merkityksen tyyppi
- SELECT
- uvu.ds AS date,
- uvu.video_user_id AS user_id,
- CASE
-
- WHEN count( DISTINCT first_action.video_user_id ) = 0 THEN
- 0 ELSE sum( CASE WHEN to_char ( uvu.ds,’ YYYYMMDD’ ) BETWEEN first_action.first_ds AND first_action.first_ds + 6 THEN 1 ELSE 0 END )
- END / count( distion first_action.video_user_id ) AS retention_rate Form t_video_user_d uvu
- JOIN ( SELECT user_id, video_id, ds AS first_ds form t_user_video_action_d WHERE action_type = 1 GROUP BY user_id, video_id, ds ORDER BY ds ASC ) first_action ON uvu.video_user_id = first_action.user_id
- GROUP BY
- uvu.video_user_id,
- uvu.ds;