Its same query with the output as per the data and result. you just need to alies the column name and there ordering .
SQL
DECLARE @Table_Name AS TABLE
(
ID INT IDENTITY
,Location VARCHAR(20)
,Image VARCHAR(20)
,Title VARCHAR(20)
,IsValid BIT
)
INSERT INTO @Table_Name VALUES('Bangalore','naidu.jpg','Title 1',1)
INSERT INTO @Table_Name VALUES('Bangalore','naidu.jpg','Title 2',1)
INSERT INTO @Table_Name VALUES('Bangalore','naidu.jpg','Title 3',1)
INSERT INTO @Table_Name VALUES('Mumbai','asp.jpg','Title 1',1)
INSERT INTO @Table_Name VALUES('Mumbai','asp.jpg','Title 2',1)
INSERT INTO @Table_Name VALUES('Nagpur','Imag.gpg','Title 4',0)
INSERT INTO @Table_Name VALUES('kolkatta','bang.jpg','Title 1',1)
INSERT INTO @Table_Name VALUES('kolkatta','bang.jpg','Title 2',1)
INSERT INTO @Table_Name VALUES('kolkatta','bang.jpg','Title 3',1)
INSERT INTO @Table_Name VALUES('kolkatta','bang.jpg','Title 4',1)
INSERT INTO @Table_Name VALUES('kolkatta','bang.jpg','Title 5',1)
SELECT Count(ID) AS 'Count(ID)',Image, Location
FROM @Table_Name
WHERE IsValid = 1
GROUP BY Location,Image
Output
Count(ID) |
Image |
Location |
2 |
asp.jpg |
Mumbai |
5 |
bang.jpg |
kolkatta |
3 |
naidu.jpg |
Bangalore |