¿Cómo crear informes diarios, semanales y mensuales en SQL Server?

SQL Server es una base de datos versátil y una de las bases de datos más utilizadas en todo el mundo. En este artículo, veamos consultas SQL sobre cómo obtener informes diarios, semanales y mensuales de SQL Server.

Comencemos por crear una base de datos y detalles de muestra.

Paso 1: creación de la base de datos 

Comando para crear la base de datos. Aquí GEEKSFORGEEKS es el nombre de la base de datos.

Consulta:

CREATE DATABASE GEEKSFORGEEKS;

Paso 2: Active la base de datos

Consulta:

USE GEEKSFORGEEKS;

Producción:

Paso 3: creación de tablas 

Consulta:

CREATE TABLE [dbo].[ArticleDetails](
    [ArticleID] [int] IDENTITY(1,1) NOT NULL,
    [AuthorID] [int],
    [ArticleDate] [date] NULL,
    [NARRATION] [varchar](25) NULL
) ON [PRIMARY]
GO

Paso 4: Insertar datos en la tabla

Consulta:

INSERT INTO ArticleDetails (AuthorID,ArticleDate,
NARRATION) VALUES (1,'2021-12-10','MONGODB')
INSERT INTO ArticleDetails (AuthorID,ArticleDate,
NARRATION) VALUES (1,'2021-12-10','JAVA')
INSERT INTO ArticleDetails (AuthorID,ArticleDate,
NARRATION) VALUES (1,'2021-12-05','PYTHON')
INSERT INTO ArticleDetails (AuthorID,ArticleDate,
NARRATION) VALUES (1,'2021-11-10','WEB DEVELOPMENT')
INSERT INTO ArticleDetails (AuthorID,ArticleDate,
NARRATION) VALUES (1,'2021-11-08','DATABASE')
INSERT INTO ArticleDetails (AuthorID,ArticleDate,
NARRATION) VALUES (2,'2021-12-10','MONGODB')
INSERT INTO ArticleDetails (AuthorID,ArticleDate,
NARRATION) VALUES (2,'2021-12-01','PYTHON')

Paso 5: primero consultemos los datos de muestra.

Consulta:

SELECT  * FROM ArticleDetails;

Producción: 

Paso 6: Obtenga los datos del artículo publicado/creado diariamente.

Consulta:

SELECT GETDATE() AS CURRENTDATE
SELECT CONVERT(nvarchar(10),
GETDATE(),101) AS FORMATTEDCURRENTDATE

Consulta:

SELECT AuthorID,ArticleDate,NARRATION AS
 'Daily' FROM ArticleDetails
WHERE ArticleDate = CONVERT(nvarchar(10),
GETDATE(),101);

Consulta:

-- To get the count of articles created/published
 by the author on daily basis
SELECT AuthorID, COUNT(AuthorID) AS 
'Daily Writeups' FROM ArticleDetails
WHERE ArticleDate = CONVERT(nvarchar(10),
GETDATE(),101) GROUP BY AuthorID

Aquí estamos comprobando que la columna ‘fecha del artículo’ coincida con el valor de la fecha actual. La fecha actual se puede obtener mediante la función ‘GETDATE()’. Usando Convert, estamos comprobando el valor ‘articleDate’.

Paso 7: Obtenga los datos del artículo publicado/creado SEMANALMENTE:

Consulta:

-- To get weekly
-- As we need to get the data between 7 days 
from current date, we are using BETWEEN clause

-- start date should be 7 days earlier 
from currentdate and hence it is provided in the below way

SELECT AuthorID,ArticleDate,NARRATION AS
 'Weekly' FROM ArticleDetails
WHERE ArticleDate BETWEEN DATEADD(d,-7,
CONVERT(nvarchar(10),GETDATE(),101)) 
AND CONVERT(nvarchar(10),GETDATE(),101)

Los datos por grupos semanales se pueden obtener de la siguiente manera.

Consulta:

SELECT AuthorID, COUNT(AuthorID) AS 
'Weekly Writeups' FROM ArticleDetails
WHERE ArticleDate BETWEEN DATEADD(d,-7,
CONVERT(nvarchar(10),GETDATE(),101)) 
AND CONVERT(nvarchar(10),GETDATE(),101)
GROUP BY AuthorID

Paso 8: Obtener los datos del artículo publicado/creado de forma MENSUAL. Aquí estamos usando la cláusula BETWEEN. Una fecha de inicio debe ser 30 días anterior a la fecha actual y, por lo tanto, se proporciona de la siguiente manera.

Consulta:

SELECT AuthorID,ArticleDate,NARRATION AS 
'Monthly Writeups' FROM ArticleDetails
WHERE ArticleDate BETWEEN DATEADD(d,-30,
CONVERT(nvarchar(10),GETDATE(),101)) 
AND CONVERT(nvarchar(10),GETDATE(),101)

Datos sabios del grupo mensual:

Consulta:

SELECT AuthorID, COUNT(AuthorID) AS 
'Monthly Writeups' FROM ArticleDetails
WHERE ArticleDate BETWEEN DATEADD(d,-30,
CONVERT(nvarchar(10),GETDATE(),101)) 
AND CONVERT(nvarchar(10),GETDATE(),101)
GROUP BY AuthorID

De las formas anteriores, podemos obtener datos diarios/semanales/mensuales.

Publicación traducida automáticamente

Artículo escrito por priyarajtt y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *