Hi atulspider,
Please refer the below sql query.
DECLARE @visit as Table(ID INT,visited_date Datetime,Country NVARCHAR(20),State NVARCHAR(20))
INSERT INTO @visit Values(1,'2017-07-28','India','Maharashtra')
INSERT INTO @visit Values(2,'2017-07-28','India','Maharashtra')
INSERT INTO @visit Values(3,'2017-07-29','India','Maharashtra')
INSERT INTO @visit Values(4,'2017-07-30','India','Maharashtra')
INSERT INTO @visit Values(5,'2017-07-30','India','Maharashtra')
INSERT INTO @visit Values(6,'2017-07-30','India','Maharashtra')
INSERT INTO @visit Values(7,'2017-07-31','India','Maharashtra')
INSERT INTO @visit Values(8,'2017-07-31','India','Maharashtra')
INSERT INTO @visit Values(9,'2017-07-31','India','Maharashtra')
INSERT INTO @visit Values(10,GETDATE(),'India','Maharashtra')
INSERT INTO @visit Values(11,GETDATE(),'India','Maharashtra')
INSERT INTO @visit Values(12,GETDATE(),'India','Maharashtra')
INSERT INTO @visit Values(13,GETDATE(),'India','Maharashtra')
INSERT INTO @visit Values(14,GETDATE(),'India','Maharashtra')
DECLARE @Data INT
SET @Data = (Select COUNT(Id) as lastDate FROM @visit WHERE visited_date IN('2017-07-31'))-- currentDate-1
DECLARE @VCount INT
SET @VCount = (SELECT TOP 1 COUNT(Id) AS VCount
FROM @visit WHERE visited_date NOT IN ('2017-07-31')
GROUP BY visited_date ORder BY VCount DESC)
SELECT TOP 1 COUNT(Id) AS VCount
,visited_date
,CAST(ROUND((100.0 * @VCount/@Data)-100, 1) AS DECIMAL(10, 2)) AS [Percent]
FROM @visit WHERE visited_date = GETDATE() -- current date
GROUP BY visited_date ORder BY VCount DESC