Try this option -
DDL:
SET STATISTICS IO ON; IF OBJECT_ID (N'tempdb.dbo.#temp') IS NOT NULL DROP TABLE #temp CREATE TABLE #temp ( Store CHAR(1) , Name VARCHAR(10) ) INSERT INTO #temp (Store, Name) VALUES ('A', 'John'), ('A', 'Bill'), ('B', 'Sam'), ('C', 'James'), ('C', 'Tim'), ('C', 'Chris'), ('D', 'Simon'), ('D', 'Phil')
Inquiries
DevArt # 1:
;WITH cte AS ( SELECT Store , Name , rn = ROW_NUMBER() OVER (PARTITION BY Store ORDER BY (SELECT 1)) FROM
DevArt # 2:
SELECT t2.Store, Name = ISNULL(t3.Name, '') FROM ( SELECT * FROM ( SELECT Store, r = COUNT(1) FROM
Alexander Fedorenko:
;WITH cte AS ( SELECT DISTINCT Store FROM
ErikE:
SELECT Store, Name FROM ( SELECT x.Store , x.Name , s = ROW_NUMBER() OVER (PARTITION BY x.Store ORDER BY xs) FROM
AmitSingh:
SELECT t.Store, Name = COALESCE( ( SELECT name FROM ( SELECT row1 = ROW_NUMBER() OVER (PARTITION BY Store ORDER BY Store) , * FROM
Andriy M # 1:
;WITH ranked AS ( SELECT Store , Name , rnk = ROW_NUMBER() OVER (PARTITION BY Store ORDER BY 1/0) FROM
Andriy M # 2:
;WITH ranked AS ( SELECT Store , Name , rnk = ROW_NUMBER() OVER (PARTITION BY Store ORDER BY 1/0) FROM
Output:
Store Name
Statistics:
Query Presenter Scans Logical Reads ------------------- ----- ------------- DevArt #1 3 41 DevArt #2 2 9 Alexander Fedorenko 4 5 ErikE 1 1 AmitSingh 22 25 Andriy M #1 1 1 Andriy M #2 1 1
Request Cost:

Extended statistics:

Execution Statistics:

Plan request (from dbForge Studio for MS SQL):
