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