Làm cách nào chúng tôi có thể tính toán số lượng công việc được xem xét mỗi giờ mỗi ngày trong tháng 11 năm 2020?

lập trình


Giống như câu hỏi này thực sự rất khó hiểu với tôi.

-job_id: mã định danh duy nhất của công việc
-actor_id: mã định danh duy nhất của diễn viên
-sự kiện: quyết định/bỏ qua/chuyển giao
-ngôn ngữ: ngôn ngữ của nội dung
-time_spent: thời gian xem lại công việc tính bằng giây
-org: tổ chức của tác nhân,
-ds: ngày ở định dạng yyyy/mm/dd. Nó được lưu trữ dưới dạng văn bản và chúng tôi sử dụng presto để chạy. không cần chức năng ngày

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)
);

ds job_id diễn viên_id ngôn ngữ sự kiện time_spent tổ chức
————————————————– —————-
2020-11-30 21 1001 bỏ qua tiếng Anh 15 A
2020-11-30 22 1006 chuyển tiếng Ả Rập 25 B
2020-11-29 23 1003 quyết định Ba Tư 20 C
2020-11-28 23 1005 chuyển nhượng Ba Tư 22 D
28-11-2020 25 1002 Quyết định số 11 B
2020-11-27 11 1007 quyết định Pháp 104 D
2020-11-26 23 1004 bỏ qua tiếng Ba Tư 56 A
2020-11-25 20 1003 chuyển nhượng Ý 45 C

Và đây là bảng mà chúng ta phải đếm. Những điểm cần được xem xét:
Sự kiện này có ý nghĩa gì? Những gì cần xem xét để xem xét?

Những gì tôi đã thử:

SELECT COUNT(*) AS no_of_job, ds AS dates 
FROM job_data 
GROUP BY ds 
ORDER BY no_of_job DESC;

Giải pháp 1

Bạn không thể: dữ liệu của bạn không chứa bất kỳ dấu thời gian nào cho phép bạn xác định thời gian trong ngày mà công việc được xem xét và vì “mỗi giờ mỗi ngày” là yêu cầu nếu không có thông tin đó nên bạn không thể làm gì để đáp ứng Nó.

Tôi nghi ngờ rằng thiết kế dữ liệu của bạn có sai sót – có nghĩa là dữ liệu của bạn vô dụng cho nhiệm vụ này – hoặc nhiệm vụ được nêu không đúng và bạn nên quay lại với người đã đưa nó cho bạn và làm rõ yêu cầu chính xác, tốt nhất là với đầu vào và đầu ra mẫu dữ liệu.

Giải pháp 2

tính năng này hoạt động ổn trong MYSQL, dữ liệu được cung cấp có thể không đầy đủ, nhưng đây là những gì tôi đã hy vọng nó sẽ hoạt động cho một số dự án, v.v.!!

SQL
SELECT ds AS Dated, COUNT(job_id) AS job_review_counts,  ROUND(COUNT(job_id)/(SUM(time_spent)/(60*60)),2) AS job_review_per_hour_each_day  
FROM job_data
WHERE ds BETWEEN '01-11-2020' AND '30-11-2020'
GROUP BY ds 
ORDER BY ds


ĐẦU RA TRONG MYSQL

25/11/2020 1 80,00
26/11/2020 1 64,29
27/11/2020 1 34,62
28/11/2020 2 218,18
29/11/2020 1 180.00
30/11/2020 2 180.00

コメント

タイトルとURLをコピーしました