gpt4 book ai didi

mysql - 在mysql中插入一个计数过程

转载 作者:行者123 更新时间:2023-11-29 20:55:21 25 4
gpt4 key购买 nike

我有这个程序并且可以正常运行它,但不知道如何对其进行计数,现在它在我身后逐行报告,我需要下载电子表格来计算 rs 行我怎样才能让她给我一份这份报告的计数吗?

DROP PROCEDURE IF EXISTS testlink.PR_SEL_RELAT_PRODUTIVIDADE;
CREATE PROCEDURE testlink.`PR_SEL_RELAT_PRODUTIVIDADE`(
idProjetoTestLink INT,
idPlanoTeste INT,
DataReferencia VARCHAR(10),
idProjetoMantis INT)
BEGIN
DECLARE vDataReferencia DATE;
DECLARE vIdQuery char(36);

/* Carrega os dias Testes na tabela Tempor?ria */
SELECT FN_SELECIONA_CASO_TESTES(idProjetoTestLink, idPlanoTeste)
INTO vIdQuery;

SELECT DATE(DataReferencia)
INTO vDataReferencia;

SELECT a.username,
a.realname,
sum(a.falha) falha,
sum(a.passou) passou,
SUM(a.bloqueado) bloqueado,
sum(a.EmExecucao) EmExecucao,
sum(a.DefeitosFechados) DefeitosFechados,
sum(a.DefeitosReabertos) DefeitosReabertos
FROM (SELECT X.LOGIN_TESTER username,
X.NOME_TESTER realname,
CASE STATUS WHEN 'f' THEN 1 ELSE 0 END Falha,
CASE STATUS WHEN 'p' THEN 1 ELSE 0 END Passou,
CASE STATUS WHEN 'b' THEN 1 ELSE 0 END Bloqueado,
0 EmExecucao,
0 DefeitosFechados,
0 DefeitosReabertos
FROM testlink.tmp_result_report X
WHERE X.ID_QUERY = vIdQuery
AND X.DATA_EXECUCAO = vDataReferencia
UNION ALL
SELECT X.LOGIN_TESTER username,
X.NOME_TESTER realname,
0 Falha,
0 Passou,
0 Bloqueado,
CASE STATUS WHEN 'r' THEN 1 ELSE 0 END EmExecucao,
0 DefeitosFechados,
0 DefeitosReabertos
FROM testlink.tmp_result_report X
WHERE X.ID_QUERY = vIdQuery
UNION ALL
SELECT user.username,
user.realname,
0 Falha,
0 Passou,
0 Bloqueado,
0 EmExecucao,
CASE WHEN bug.resolution <> 30 THEN 1 ELSE 0 END
DefeitosFechados,
CASE WHEN bug.resolution = 30 THEN 1 ELSE 0 END
DefeitosReabertos
FROM mantis.mantis_bug_table bug,
mantis.mantis_category_table categ,
mantis.mantis_user_table user
WHERE bug.project_id = idProjetoMantis
AND bug.category_id = categ.id
AND bug.status = 90 -- Fechado
AND bug.resolution <> 10 -- Aberto
AND date(FROM_UNIXTIME(bug.last_updated)) = vDataReferencia
AND bug.reporter_id = user.id) a
WHERE a.username IS NOT NULL
GROUP BY a.username;
END;

最佳答案

您必须在每行中添加一个变量和增量:

DROP PROCEDURE IF EXISTS testlink.PR_SEL_RELAT_PRODUTIVIDADE;
CREATE PROCEDURE testlink.`PR_SEL_RELAT_PRODUTIVIDADE`(

set @rowcount = 0;

...

SELECT @rowcount:=@rowcount+1 as row_counter
a.username,
a.realname,
sum(a.falha) falha,
sum(a.passou) passou,

...

END

关于mysql - 在mysql中插入一个计数过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37686803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com