Utilizando Dense_Rank() para classificar minhas séries. (Off Topic)

Boa noite galera, um pouco sem sono nessa madrugada resolvi listar minhas séries favoritas.

Bom provavelmente eu posso ter esquecido de listar algumas, essa lista abaixo são apenas de séries que eu já assisti, estou assistindo ou esta na minha lista para assistir, como pode ver na lista tem apenas 2 animes, porém tem muito mais que eu gostaria de listar, mas vou ficar por aqui rs.

Abaixo um script para gerar as informações:

USE MASTER
GO
IF(SELECT DB_ID(‘DB_SERIES’)) IS NOT NULL
BEGIN
ALTER DATABASE DB_SERIES SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DROP DATABASE DB_SERIES
END
GO

CREATE DATABASE DB_SERIES
GO
USE DB_SERIES
GO

CREATE TABLE MinhasSeries (Id int identity(1,1) Primary key, Nome varchar(200),Assistindo_Assistido bit, NaLista bit, Peso tinyint)
GO

INSERT INTO MinhasSeries Values
(‘Game of Thrones’,1,0,5),
(‘Breaking Bad’,1,0,5),
(‘The Walking Dead’,1,0,4),
(‘Prison Break’,1,0,5),
(‘Vikings’,1,0,4),
(‘The Flash’,1,0,3),
(‘How I Met Your Mother’,1,0,5),
(‘House’,1,0,2),
(‘Sons of Anarchy’,1,0,2),
(‘Os Simpsons’,1,0,4),
(‘Arrow’,1,0,3),
(‘Mr. Robot’,1,0,4),
(‘Narcos’,1,0,4),
(‘Death Note’,1,0,5),
(‘The Big Bang Theory’,1,0,4),
(‘Gotham’,0,1,1),
(‘The 100’,1,0,3),
(‘Todo Mundo Odeia o Chris’,1,0,4),
(‘Black Mirror’,0,1,1),
(‘Dexter’,0,1,1),
(‘Eu, a Patroa e as Crianças’,1,0,4),
(‘Um Maluco no Pedaço’,1,0,4),
(‘Spartacus’,1,0,4),
(‘Marvels Agents of S.H.I.E.L.D.’,0,1,1),
(‘Chuck’,1,0,3),
(‘Lie To Me’,0,1,1),
(‘Better Call Saul’,1,0,3),
(‘The Mentalist’,0,1,1),
(‘Modern Family’,1,0,2),
(‘Chaves’,1,0,4),
(‘Smallville’,1,0,2),
(‘Fear The Walking Dead’,1,0,2),
(’24 Horas’,0,1,1),
(‘Two And a Half Men’,1,0,5),
(‘The O.C.’,1,0,2),
(‘Lost’,0,1,1),
(‘Under The Dome’,1,0,3),
(‘Supergirl’,0,1,1),
(‘Luke Cage’,1,0,3),
(‘The Last Kingdom’,0,1,1),
(‘Vai Que Cola’,1,0,2),
(‘Falling Skies’,1,0,2),
(‘Roma’,1,0,4),
(‘Uma Família da Pesada’,1,0,3),
(‘The Last Man on Earth’,0,1,1),
(‘Xena: A Princesa Guerreira’,1,0,2),
(‘3%’,1,0,2),
(‘Chapolin’,1,0,4),
(‘BoJack Horseman’,0,1,1),
(‘Os Dez Mandamentos’,0,1,1),
(‘O Atirador’,0,1,1),
(‘Futurama’,1,0,3),
(‘South Park’,1,0,4),
(‘Heroes’,1,0,4),
(‘Kyle XY’,1,0,3),
(‘Jericho’,1,0,3),
(‘Dragon Ball Z’,1,0,4),
(‘Californication’,0,1,1),
(‘Anger Management’,1,0,2),
(‘Cosmos’,0,1,1),
(‘Through the Wormhole’,1,0,3),
(‘Stranger Things’,0,1,1),
(‘HomeLand’,0,1,1),
(‘BlackList’,0,1,1),
(‘House of Cards’,1,0,2),
(‘Sherlock’,0,1,1),
(‘Friends’,1,0,2),
(‘Demolidor’,0,1,1)
SELECT NOME,DENSE_RANK() OVER (ORDER BY PESO DESC) POSICAO FROM MinhasSeries ORDER BY POSICAO,NOME

A lista não esta ordenada e nem classificada por gênero fui adicionando conforme vinha em minha cabeça.

Utilizei uma classificação de 1 a 5, onde 5 é o mais TOP, porém não quer dizer que 1 ou 2 são necessariamente ruins, pode ser que eu esteja começando a assistir por isso ela tenha uma classificação baixa.

Utilizei a função DENSE_RANK() para classificar e trazer na ordem mostrada abaixo, caso eu utiliza-se a função RANK() as séries que estão na segunda posição iriam aparecer como posição 7, pois o RANK pula esse intervalo.

https://msdn.microsoft.com/en-us/library/ms173825.aspx

 

rank

Esse seria o resultado com o RANK(), da pra ver que ele pula do 1 para o 7, vamos ver o resultado com DENSE_RANK().

 

series2

Acredito que o resultado não tenha nada de surpresa né?! É claro que isso sempre gera uma pequena discussão saudável rs, porém é aquela questão do velho ‘Gosto não se discute’ rs.

 

series3

Ainda tenho uma lista grande pela frente para assistir (21 séries).

Bom caso eu tenha esquecido de alguma série legal, ou se tem recomendações de boas séries, deixe no comentário.

Valeu galera, esse foi um post rápido para descontrair, ainda vimos um pouco de TSQL haha, até a próxima.

 

Reginaldo Silva

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s