प्रौद्योगिकी साझेदारी

SQL लिखित परीक्षणप्रश्नाः [Data Post]

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

विडियो खाता आँकडा विश्लेषण समूह आउटसोर्सिंग भर्ती कृते लिखितपरीक्षायाः समयसीमा ४५ मिनिट् अस्ति।

प्रश्नः 3 सारणीनां संरचनायाः आधारेण अस्ति समस्यायाः समाधानार्थं विशिष्टं SQL कोडं लिखन्तु (मजेदारवर्गस्य परिभाषा: विडियो वर्गीकरणं वा "मजेदार" इति विडियो निर्माता वर्गीकरणं) l

प्रश्नः 1: लेखकस्य हाले 3 विडियो विश्लेषणार्थं हास्यवर्गस्य dws सारणीं आउटपुट् कुर्वन्तु: प्रत्येकेन विडियो निर्मातृणां सद्यः विमोचितानाम् 3 विडियोनां आउटपुट् user_id, विगतसप्ताहे एक्सपोजरः, तथा च आउटपुट् क्षेत्राणां कुलसंख्या आवश्यकी भवति : Video creator user_id, एक्सपोजर-उपयोक्तृणां संख्या, पसन्द-उपयोक्तृणां संख्या, एक्सपोजर-सङ्ख्या, पसन्द-सङ्ख्या

  1. SELECT
  2. vu.video_user_id AS user_id,
  3. count( DISTINCT uva.video_id ) AS video_count,
  4. sum( CASE WHEN uva.action_type = 1 THEN 1 ELSE 0 END ) AS exposure_user_count,
  5. sum( CASE WHEN uva.action_type = 2 THEN 1 ELSE 0 END ) AS like_user_count,
  6. sum( CASE WHEN uva.action_type = 1 THEN 1 ELSE 0 END ) AS exposeure_count,
  7. sum( CASE WHEN uva.action_type = 2 THEN 1 ELSE 0 END ) AS like_count
  8. FROM
  9. t_user_video_action_d uva
  10. JOIN t_video_d v ON uva.video_id = v.video_id
  11. JOIN t_video_user_d vu ON v.video_user_id = vu.video_user_id
  12. WHERE
  13. v.video_type = ‘搞笑’
  14. AND uva.ds >= to_date ( to_char ( SYSDATE,’ YYYYMMDD’ ) - 7,’ YYYYMMDD’ )
  15. GROUP BY
  16. vu.video_user_id
  17. ORDER BY
  18. vu.video_user_id;

प्रश्नः २: एकं संख्याफलं निर्गच्छतु: 20221103 दिनाङ्के निर्मितस्य विडियोमध्ये यदि विडियोविवरणे "funny jokes" तथा "talk show" इति कीवर्डद्वयं भवति तर्हि "funny content" इति भवति यदि एतौ The keyword is "गैर-मजेदारसामग्री", तथा च अन्तिमनिर्गमः 20221103 दैनिकं विनोदपूर्णानां गैर-मजेदारानाञ्च विडियोनां संख्या अस्ति यस्य डुप्लिकेट् निष्कासितम् अस्ति ।

  1. SELECT
  2. count( DISTINCT CASE WHEN v.video_description LIKE%搞笑段子%OR v.video_description LIKE%脱口秀%THEN video_id ELSE NULL END ) AS funny_count,
  3. 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
  4. WHERE
  5. v.ds = to_date ( ‘ 20221103’,’ YYYYMMDD’ );

प्रश्नः 3: प्रत्येकस्य उपयोक्तुः प्रथमस्य विडियो एक्सपोजरस्य समयमुद्रणस्य गणनां कुर्वन्तु यत्किमपि द्रुतं चालनस्य गतिः भवति, तत्किमपि उत्तमम् अस्ति।

  1. SELECT
  2. uva.ds AS date,
  3. uva.user_id,
  4. min( uva.TIMESTAMP ) AS first_exposure_timestamp form t_user_video_action_d uva
  5. WHERE
  6. uva.action_type = 1
  7. GROUP BY
  8. uva.user_id,
  9. uva.ds;

प्रश्नः 4: पूर्वं कस्यापि तिथौ उजागरितसक्रियप्रयोक्तृणां 7-दिवसीय-धारण-दरं पृच्छितुं dws-सारणीं आउटपुट् कुर्वन्तु आउटपुट-क्षेत्राणि तिथिः, उपयोक्तृ-ID, 7-दिवसीय-धारण-दरः च सन्ति सारणी 1 उपयोक्तृव्यवहारसारणी: t_user_video_action_d l विभाजनम्: ds ( Format yyyyMMdd) lप्राथमिककुंजी: user_id, video_id lअर्थ: विडियोमध्ये उपयोक्तुः सर्वेषां व्यवहारानां समुच्चयः, दैनिकवृद्धिः क्षेत्रनाम क्षेत्रस्य अर्थप्रकारः

  1. SELECT
  2. uvu.ds AS date,
  3. uvu.video_user_id AS user_id,
  4. CASE
  5. WHEN count( DISTINCT first_action.video_user_id ) = 0 THEN
  6. 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 )
  7. END / count( distion first_action.video_user_id ) AS retention_rate Form t_video_user_d uvu
  8. 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
  9. GROUP BY
  10. uvu.video_user_id,
  11. uvu.ds;