fix: solo un trabajador por fallo #2210
No reviewers
Labels
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: verdnatura/salix#2210
Loading…
Reference in New Issue
No description provided.
Delete Branch "6782-productionError_add"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@ -47,0 +37,4 @@
WITH rankedWorkers AS (
SELECT sm.id,
st.workerFk,
ROW_NUMBER() OVER(PARTITION BY sm.id ORDER BY s2.`order`) AS rnk
en este caso RANK() seria más apropiado?
ChatGpt, pero crec que el rank en el meu cas no em val.
Sí, puedes utilizar la función RANK() en lugar de ROW_NUMBER() para lograr un propósito similar, pero hay una diferencia importante entre estas dos funciones que puede afectar el resultado dependiendo de lo que necesitas:
ROW_NUMBER() asigna un número único a cada fila dentro de la partición de acuerdo con el criterio de ordenación especificado. Esto significa que incluso si dos filas tienen el mismo valor en las columnas de ordenación, cada una recibirá un número de fila diferente.
RANK() asigna el mismo rango a filas que tienen los mismos valores en las columnas de ordenación, con huecos en la secuencia de rangos si hay empates. Por ejemplo, si dos filas están empatadas en el primer lugar, ambas recibirán el rango 1, y el siguiente rango sería 3, no 2.
Dependiendo de tu caso de uso específico, el uso de RANK() podría significar que si hay varios trabajadores con el mismo valor de orden para un id de saleMistake, todos recibirán el mismo rango. Si deseas considerar a todos los trabajadores que comparten el valor más alto (o más bajo, según el orden) en el conjunto de order para un id específico, RANK() sería la función adecuada.
@ -47,0 +39,4 @@
st.workerFk,
ROW_NUMBER() OVER(PARTITION BY sm.id ORDER BY s2.`order`) AS rnk
FROM vn.saleMistake sm
JOIN vn.saleTracking st ON sm.saleFk = st.saleFk
esquema vn se puede eliminar
dins dels WITH si no es posa l'esquema myt falla.
@ -47,0 +46,4 @@
WHERE t.shipped BETWEEN vDatedFrom AND vDatedTo
AND s2.code IN ('OK', 'PREVIOUS_PREPARATION', 'PREPARED', 'CHECKED')
)
SELECT workerFk, COUNT(*) AS errors
El AS no es necesario