簡體   English   中英

計算 2020 年 11 月每天每小時審查的工作數量?

[英]Calculate the number of jobs reviewed per hour per day for November 2020?

這個問題真的讓我很困惑。 他們沒有提供足夠的細節。 無論他們提供什么,我都寫在下面。

  • job_id:作業的唯一標識符
  • actor_id:演員的唯一標識
  • 事件:決定/跳過/轉移
  • 語言:內容的語言
  • time_spent: 以秒為單位查看作業所花費的時間
  • org:演員的組織
  • ds:yyyy/mm/dd 格式的日期。 它以文本的形式存儲,我們使用presto來運行。 不需要日期 function
CREATE TABLE job_data
(
    ds DATE,
    job_id INT NOT NULL,
    actor_id INT NOT NULL,
    event VARCHAR(15) NOT NULL,
    language VARCHAR(15) NOT NULL,
    time_spent INT NOT NULL,
    org CHAR(2)
);

INSERT INTO job_data (ds, job_id, actor_id, event, language, time_spent, org)
VALUES ('2020-11-30', 21, 1001, 'skip', 'English', 15, 'A'),
    ('2020-11-30', 22, 1006, 'transfer', 'Arabic', 25, 'B'),
    ('2020-11-29', 23, 1003, 'decision', 'Persian', 20, 'C'),
    ('2020-11-28', 23, 1005,'transfer', 'Persian', 22, 'D'),
    ('2020-11-28', 25, 1002, 'decision', 'Hindi', 11, 'B'),
    ('2020-11-27', 11, 1007, 'decision', 'French', 104, 'D'),
    ('2020-11-26', 23, 1004, 'skip', 'Persian', 56, 'A'),
    ('2020-11-25', 20, 1003, 'transfer', 'Italian', 45, 'C');

下面是數據。 要考慮的要點:事件意味着什么? 復習要考慮什么?圖片1

這是我試過的查詢:

SELECT ds, COUNT(*)/24 AS no_of_job 
  FROM job_data 
   WHERE ds BETWEEN '2020-11-01' AND '2020-11-30' 
GROUP BY ds;

檢查以下方法是否是您要查找的方法。

select ds,count(job_id) as jobs_per_day, sum(time_spent)/3600 as hours_spent 
from job_data  
where ds >='2020-11-01'  and ds <='2020-11-30'  
group by ds ;

演示MySQL 5.6https://www.db-fiddle.com/f/7yUJcuMJPncBBnrExKbzYz/26

演示MySQL 8.0.26https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=83e89a2ad2a7e73b7ca990ac36ae4df0

@FaNo_FN在評論中指出的演示之間的區別是:在MySQL 8.0.26版本中,如果使用日期2020-11-31將提供錯誤,因為沒有31 Novembre

使用and condition 而不是between ,它執行得更快。

您需要對當天的time_spent求和。

在此處輸入圖像描述

但他們要求計算

  • 每天每小時審查的工作數量

2020 年 11 月?

POV:這不是指工作審查計數/小時/天嗎?

您正在計算每天每小時的(以秒為單位的總時間)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM