¿Cómo podemos calcular la cantidad de trabajos revisados ​​por hora por día para noviembre de 2020?

programación


Esta pregunta me confunde literalmente.

-job_id: identificador único de trabajos
-actor_id: identificador único del actor
-evento: decisión/saltar/transferir
-idioma: idioma del contenido
-time_spent: tiempo dedicado a revisar el trabajo en segundos
-org: organización del actor,
-ds: fecha en formato aaaa/mm/dd. Se almacena en forma de texto y usamos presto para ejecutarlo. no es necesaria la función de fecha

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 actor_id evento idioma tiempo_gastado org
————————————————– —————-
2020-11-30 21 1001 saltar inglés 15 A
2020-11-30 22 1006 transferencia árabe 25 B
2020-11-29 23 1003 decisión persa 20 C
2020-11-28 23 1005 transferencia persa 22 D
2020-11-28 25 Decisión 1002 N° 11 B
2020-11-27 11 1007 decisión francesa 104 D
2020-11-26 23 1004 omitir persa 56 A
2020-11-25 20 1003 transferencia italiana 45 C

Y esta es la tabla a partir de la cual tenemos que contar. Puntos a considerar:
¿Qué significa el evento? ¿Qué considerar para revisar?

Lo que he probado:

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

Solución 1

No puedes: tus datos no contienen ninguna marca de tiempo que te permita identificar la hora del día en que se revisó el trabajo, y dado que “por hora por día” es un requisito sin esa información, no hay nada que puedas hacer para cumplirlo. él.

Sospecho que o el diseño de tus datos es defectuoso, lo que significa que tus datos son inútiles para esta tarea, o la tarea está mal planteada y deberías volver con quien te la dio y aclarar el requisito exacto, preferiblemente con entradas y salidas de muestra. datos.

Solución 2

¡Esto funciona bien en MYSQL, los datos proporcionados pueden estar incompletos, pero esto es lo que hice con la esperanza de que funcionara para algún proyecto, etc.!

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


SALIDA EN 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をコピーしました