Inquiridor
Gerar uma tabela com uma coluna de classificação

Pergunta
-
Pessoal,
estou com uma duvida sou novo em programação em sql e gostaria de criar uma tabela que contenha uma coluna de classificação idem o que eu realizava no excel: =Se(a2=A1;B1+1;1). Pois com isso quero fazer a seleção de top 5 por grupo.
Abaixo o codigo que desenvolvi para ordenar do maior para o menor:
Select
a.Plu_Coleta
,a.Plu_UF
,a.Plu_Cidade
,a.Plu_Finalidade
,a.Plu_Modalidade
,a.Plu_Anunciante
,count (a.Plu_CodigoAnunciante) as #_Anunciantes
from BIES_Tab_Plugar as a
where a.Plu_UF = 'SP'
and
a.Plu_Cidade = 'Sao Paulo'
group by a.Plu_Coleta, a.Plu_UF,a.Plu_Cidade, a.Plu_Finalidade, a.Plu_Modalidade,a.Plu_Anunciante, a.Plu_CodigoAnunciante
order by a.Plu_Coleta,a.Plu_UF, a.Plu_Cidade,a.Plu_Finalidade, a.Plu_Modalidade, COUNT(a.Plu_CodigoAnunciante) descAbs
Todas as Respostas
-
Film_15,
Este select seria diretamente no seu relatório ou um simples query que você esta querendo implementar na sua aplicação?
Poderia explicar melhor?
Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
Olá,
O SQL Server 2012 em diante possui uma funcionalidade chamada Window Functions que serve para a sua necessidade. Procure no BOL sobre Ranking Functions ou nos links abaixo:
https://www.simple-talk.com/sql/learn-sql-server/window-functions-in-sql-server/
http://sqlmag.com/sql-server-2012/how-use-microsoft-sql-server-2012s-window-functions-part-1
Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008
- Sugerido como Resposta Roberto F FonsecaModerator quarta-feira, 4 de fevereiro de 2015 19:11
-
-
Film_15,
Então, mas esta cálculo você deseja fazer como recurso como elemento para filtrar os dados?
Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
Pedro,
A ideia é criar a coluna com essa classificação por exemplo se a cidade e a finalidade for a mesma a coluna "Class" ira receber na 1ª linha o valor 1 na 2ª linha o valor 2 e subsequentemente, quando a finalidade for diferente a coluna "Class" volta a receber o valor 1.
Conseguindo realizar isso vou criar um where class <=5.
Abs
-
Film_15,
Então na verdade você tem que fazer isso na sua query, e aplicar ao seu report um parâmetro com base neste coluna para gerar o filtro.
Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-