Usuário com melhor resposta
Como faço pro order by desta query funcionar?

Pergunta
-
Como faço pro order by desta query funcionar?
select
convert(varchar, a.pedido_registro, 103) as Data, sum(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 120 then 1 else 0 end) as 'Ate_2h', sum(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 120 and DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 240 then 1 else 0 end) 'de2_4h', sum(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 240 and DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 360 then 1 else 0 end) 'de4_6h', sum(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 360 and DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 480 then 1 else 0 end) 'de6_8h', sum(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 480 and DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 1440 then 1 else 0 end) 'de8_24h', sum(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 1440 and DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 2880 then 1 else 0 end) 'de24_48h', sum(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 2880 then 1 else 0 end) 'acima_de_48h', count(0) Total_dia, max(DateDiff(mi, a.pedido_registro, c.acao_pedido_data)) Maior_tempo_do_dia, avg(DateDiff(mi, a.pedido_registro, c.acao_pedido_data)) Media_diariafrom
Pedidos (nolock) ainner
join FilasItens (nolock) b on b.pedido_id = a.pedido_idinner
join AcoesPedidos (nolock) c on c.pedido_id = a.pedido_idwhere
a
.entidade_id = 100204 and a.pedido_registro > '2008-08-01 00:00:00' --possível parametrizacao and b.fila_item_id = (select max(aux.fila_item_id) from FilasItens(nolock) aux where aux.pedido_id = a.pedido_id) and c.pedido_status_id = 9 --possível seleção de statusgroup
by convert(varchar, a.pedido_registro, 103)order
byconvert(varchar, a.pedido_registro, 103)
Respostas
-
Bom Dia,
Tente da seguinte forma:
Code Snippetwith
consulta as (select
convert
(varchar, a.pedido_registro, 103) as Data,sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 120 then 1 else 0 end) as 'Ate_2h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 120and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 240 then 1 else 0 end) 'de2_4h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 240and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 360 then 1 else 0 end) 'de4_6h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 360and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 480 then 1 else 0 end) 'de6_8h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 480and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 1440 then 1 else 0 end) 'de8_24h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 1440and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 2880 then 1 else 0 end) 'de24_48h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 2880 then 1 else 0 end) 'acima_de_48h',count
(0) Total_dia,max
(DateDiff(mi, a.pedido_registro, c.acao_pedido_data)) Maior_tempo_do_dia,avg
(DateDiff(mi, a.pedido_registro, c.acao_pedido_data)) Media_diariafrom
Pedidos (nolock) ainner
join FilasItens (nolock) b on b.pedido_id = a.pedido_idinner
join AcoesPedidos (nolock) c on c.pedido_id = a.pedido_idwhere
a
.entidade_id = 100204and
a.pedido_registro > '2008-08-01 00:00:00' --possível parametrizacaoand
b.fila_item_id = (select max(aux.fila_item_id) from FilasItens(nolock) aux where aux.pedido_id = a.pedido_id)and
c.pedido_status_id = 9 --possível seleção de statusgroup
byconvert
(varchar, a.pedido_registro, 103))select
Data, Ate_2h, de2_4h, de4_6h, de6_8h, de8_24h, de24_48h, acima_de_48hfrom
consultaorder
by CAST(Data AS SMALLDATETIME)[ ]s,
Gustavo
- Marcado como Resposta nnelsson segunda-feira, 6 de abril de 2009 20:46
Todas as Respostas
-
-
-
-
-
-
-
-
-
-
-
Bom Dia,
Tente da seguinte forma:
Code Snippetwith
consulta as (select
convert
(varchar, a.pedido_registro, 103) as Data,sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 120 then 1 else 0 end) as 'Ate_2h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 120and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 240 then 1 else 0 end) 'de2_4h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 240and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 360 then 1 else 0 end) 'de4_6h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 360and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 480 then 1 else 0 end) 'de6_8h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 480and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 1440 then 1 else 0 end) 'de8_24h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 1440and
DateDiff(mi, a.pedido_registro, c.acao_pedido_data) < 2880 then 1 else 0 end) 'de24_48h',sum
(case when DateDiff(mi, a.pedido_registro, c.acao_pedido_data) >= 2880 then 1 else 0 end) 'acima_de_48h',count
(0) Total_dia,max
(DateDiff(mi, a.pedido_registro, c.acao_pedido_data)) Maior_tempo_do_dia,avg
(DateDiff(mi, a.pedido_registro, c.acao_pedido_data)) Media_diariafrom
Pedidos (nolock) ainner
join FilasItens (nolock) b on b.pedido_id = a.pedido_idinner
join AcoesPedidos (nolock) c on c.pedido_id = a.pedido_idwhere
a
.entidade_id = 100204and
a.pedido_registro > '2008-08-01 00:00:00' --possível parametrizacaoand
b.fila_item_id = (select max(aux.fila_item_id) from FilasItens(nolock) aux where aux.pedido_id = a.pedido_id)and
c.pedido_status_id = 9 --possível seleção de statusgroup
byconvert
(varchar, a.pedido_registro, 103))select
Data, Ate_2h, de2_4h, de4_6h, de6_8h, de8_24h, de24_48h, acima_de_48hfrom
consultaorder
by CAST(Data AS SMALLDATETIME)[ ]s,
Gustavo
- Marcado como Resposta nnelsson segunda-feira, 6 de abril de 2009 20:46