1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| -- ===========
-- Paramétrage
-- ===========
SET NOCOUNT ON
-- ==================
-- Lien vers Database
-- ==================
use tempdb
Le contexte de la base de données a changé*; il est maintenant 'tempdb'.
-- ==========================
-- Suppression Table 'compet'
-- ==========================
IF OBJECT_ID(N'dbo.table1', N'U') IS NOT NULL
DROP TABLE dbo.table1
-- =======================
-- création table 'table1'
-- =======================
create table dbo.table1 (
idTable1 integer NOT NULL identity(1, 1) primary key,
idTable2 integer NOT NULL,
date date NOT NULL
);
-- =======================
-- insertion dans 'table1'
-- =======================
INSERT INTO dbo.table1 (idTable2,date) values
( 2,'2016-01-01'),( 2,'2016-01-02'),( 2,'2016-01-03'),( 2,'2016-01-04'),( 2,'2016-01-05'),( 2,'2016-01-06'),( 2,'2016-01-07'),
( 2,'2016-01-08'),( 2,'2016-01-09'),( 2,'2016-01-10'),( 2,'2016-01-11'),( 2,'2016-01-12'),( 2,'2016-01-13'),( 2,'2016-01-14'),
( 2,'2016-01-15'),( 2,'2016-01-16'),( 2,'2016-01-17'),( 2,'2016-01-18'),( 2,'2016-01-19'),( 2,'2016-01-20'),
( 4,'2016-01-01'),( 4,'2016-01-02'),( 4,'2016-01-03'),( 4,'2016-01-04'),( 4,'2016-01-05'),( 4,'2016-01-06'),( 4,'2016-01-07'),
( 4,'2016-01-08'),( 4,'2016-01-09'),( 4,'2016-01-10'),( 4,'2016-01-11'),( 4,'2016-01-12'),( 4,'2016-01-13'),( 4,'2016-01-14'),
( 4,'2016-01-15'),( 4,'2016-01-16'),( 4,'2016-01-17'),( 4,'2016-01-18'),( 4,'2016-01-19'),( 4,'2016-01-20'),
( 5,'2016-01-01'),( 5,'2016-01-01'),( 5,'2016-01-01'),( 5,'2016-01-02'),( 5,'2016-01-02'),( 5,'2016-01-02'),( 5,'2016-01-03'),
( 5,'2016-01-03'),( 5,'2016-01-03'),( 5,'2016-01-04'),( 5,'2016-01-04'),( 5,'2016-01-04'),( 5,'2016-01-05'),( 5,'2016-01-05'),
( 5,'2016-01-05'),( 5,'2016-01-06'),( 5,'2016-01-06'),( 5,'2016-01-06'),( 5,'2016-01-07'),( 5,'2016-01-07'),( 5,'2016-01-07'),
( 5,'2016-01-08'),( 5,'2016-01-08'),( 5,'2016-01-08'),( 5,'2016-01-09'),( 5,'2016-01-09'),( 5,'2016-01-09'),( 5,'2016-01-10'),
( 5,'2016-01-10'),( 5,'2016-01-10'),( 5,'2016-01-11'),( 5,'2016-01-11'),( 5,'2016-01-11'),( 5,'2016-01-12'),( 5,'2016-01-12'),
( 2,'2016-02-01'),( 2,'2016-02-01'),( 2,'2016-02-02'),( 2,'2016-02-02'),( 2,'2016-02-03'),( 2,'2016-02-03'),( 2,'2016-02-04'),
( 2,'2016-02-04'),( 2,'2016-02-05'),( 2,'2016-02-05'),( 2,'2016-02-06'),( 2,'2016-02-06'),( 2,'2016-02-07'),( 2,'2016-02-07'),
( 2,'2016-02-08'),( 2,'2016-02-08'),( 2,'2016-02-09'),( 2,'2016-02-09'),( 2,'2016-02-10'),( 2,'2016-02-10'),( 2,'2016-02-11'),
( 2,'2016-02-11'),( 2,'2016-02-12'),( 2,'2016-02-12'),( 2,'2016-02-13'),( 2,'2016-02-13'),( 2,'2016-02-14'),( 2,'2016-02-14'),
( 2,'2016-02-15'),( 2,'2016-02-15'),( 2,'2016-02-16'),( 2,'2016-02-16'),( 2,'2016-02-17'),( 2,'2016-02-17'),( 2,'2016-02-18'),
( 2,'2016-02-18'),( 2,'2016-02-19'),( 2,'2016-02-19'),( 2,'2016-02-20'),( 2,'2016-02-20'),( 2,'2016-02-21'),( 2,'2016-02-21'),
( 2,'2016-02-22'),( 2,'2016-02-22'),( 2,'2016-02-23'),( 2,'2016-02-23'),( 2,'2016-02-24'),( 2,'2016-02-24'),( 2,'2016-02-25'),
( 2,'2016-02-25'),
( 5,'2016-02-01'),( 5,'2016-02-02'),( 5,'2016-02-03'),( 5,'2016-02-04'),( 5,'2016-02-05'),( 5,'2016-02-06'),( 5,'2016-02-07'),
( 5,'2016-02-08'),
(99,'2016-02-01'),(99,'2016-02-02'),(99,'2016-02-03'),(99,'2016-02-04'),(99,'2016-02-05'),(99,'2016-02-06'),(99,'2016-02-07'),
(99,'2016-02-08'),(99,'2016-02-09'),(99,'2016-02-10'),(99,'2016-02-11'),(99,'2016-02-12'),(99,'2016-02-13'),(99,'2016-02-14'),
(99,'2016-02-15');
-- =======
-- Requête
-- =======
SELECT month(date) as mois,
idTable2,
count(*) as nbre,
rank() over (partition by month(date) order by month(date), count(*) desc) as rang
FROM table1
group by month(date), idTable2
mois idTable2 nbre rang
----------- ----------- ----------- --------------------
1 5 35 1
1 2 20 2
1 4 20 2
2 2 50 1
2 99 15 2
2 5 8 3
Appuyez sur une touche pour continuer... |
Partager