-
Conteúdo Similar
-
Por brunoogm
Pessoal tenho o seguinte select no mysql
SELECT SUM(ValorTotal) as Total_Mes, YEAR(DataPedido) as Ano,
CASE extract(MONTH from DataPedido)
WHEN 1 THEN 'Janeiro'
WHEN 2 THEN 'Fevereiro'
WHEN 3 THEN 'Março'
WHEN 4 THEN 'Abril'
WHEN 5 THEN 'Maio'
WHEN 6 THEN 'Junho'
WHEN 7 THEN 'Julho'
WHEN 8 THEN 'Agosto'
WHEN 9 THEN 'Setembro'
WHEN 10 THEN 'Outubro'
WHEN 11 THEN 'Novembro'
WHEN 12 THEN 'Dezembro'
END AS mes
from comanda Where Year(DataPedido) = year(curdate()) and CodigoSituacao = 2 OR Year(DataPedido) = (year(now())-1) and CodigoSituacao = 2
group by mes, YEAR(DataPedido)
limit 0,12
E ele me retorna a seguinte situação :
Total_Mes Ano mes
555.00 2018 Agosto
310.00 2019 Agosto
150.00 2019 Fevereiro
777.00 2018 Janeiro
100.00 2019 Janeiro
70.00 2019 Maio
E no caso eu gostaria de omitir os registros que NÃO se repetem, ou seja, retirar da consulta os resultados onde o mês só apareça uma vez (maio e fevereiro)
Preciso que o resultado seja o seguinte :
Total_Mes Ano mes
555.00 2018 Agosto
310.00 2019 Agosto
777.00 2018 Janeiro
100.00 2019 Janeiro
Alguém tem uma ideia de como fazer isso ?
-
Por reginaldo123
quero fazer uma consulta que retorna as ultimas mensagens por data e agrupa pelo id_an
$query="SELECT id_mensagem ,id_an,id_usuario,mensagem,data,id_p FROM mensagem WHERE id_usuario='{$id_usuario}' ORDER BY data desc
GROUP by id_an";
mas esta dando erro a consulta sql
-
Por alekaspary
Bom dia Amigos.
Preciso fazer uma consulta na tabela baterias que possui as colunas (id, voltagem, reservatorio_id, data) em que me retorne a ultima voltagem gravada no banco de cada reservatório.
OBS:
1- Usando o ORDER BY juntamento com o GROUP BY, a consulta retorna a voltagem mais antiga gravada no banco;
2 - LIMIT não pode ser usado, já que serão vários reservatórios a serem consultados;
3 - Já tentei utilizar o MAX(data), a consulta me retorna a data mais alta, porém com a voltagem mais antiga;
EM anexo imagem com valores fictícios na tabela
-
Por GudaEevSo
Bom dia,
Preciso fazer a soma da coluna QT_REAL onde a soma das linhas não podem passar um determinado valor (NR_CAMPO) . Essa soma deve ser feita validado o NR_CICLO, NR_OP, DS_NIVEL e CD_COR onde será agrupado as linhas até a QT_REAL for menor ou igual que o NR_CAMPO.
Como está hoje:
Como deveria ficar:
Colunas da tabela:
NR_CICLO,
NR_OP,
DS_NIVEL,
NR_CAMPO = CAMPO LIMITADOR - QUANTIDADE DA COLUNA SOMADA NÃO PODE ULTRAPASSAR ESSE VALOR.
CONT = NUMERO DE LINHAS
CD_COR
QT_REAL = QUANTIDADE A SER SOMADA.
-
Por Inquieto
Bom dia,
Tenho a seguinte consulta (que funciona perfeitamente):
SELECT
i.desc_com,
i.id_produto,
SUM(i.quantidade_com) AS t,
p.id_pro,
p.desc_pro,
g.quantidade AS f,
(i.quantidade_com * g.quantidade) AS total
FROM
tb_intenscomposicao i,
tb_produto p
INNER JOIN
tb_itens_pedido g ON (g.produto = p.desc_pro)
WHERE
p.id_pro = i.id_produto AND g.id_ped = 1
GROUP BY i.id ORDER BY i.desc_com;
Que me retorna o que está na imagem. Porém, digamos que para fabricar o produto "x" eu precise de 10 componentes "j", enquanto que para fabricar o produto "y" eu preciso de 45 "j" e, no meu pedido eu precise de 7 produtos x e 2 produtos y:
COMPONENTE J | PRODUTO X 7 70
COMPONENTE J | PRODUTO Y 2 90
O resultado que obtenho é 70 de um e 90 de outro, o problema é que eu não consigo agrupar de forma que mostre corretamente as 160 unidades do componente "j". Alguma ideia?
-