by 준일정 [SQL Query] mssql sql oracle mysql [2019.05.09 10:55:08]
실제 데이터는
id | 이름 |
100 | 정준일 |
101 | 정준이 |
102 | 정준삼 |
103 | 정준사 |
이지만
어떤 쿼리 마법(?)을 부려서
이미지 처럼 select 할 수 있나요??
대략 이렇겠네요.
-- MySQL SET @i = 0; SELECT `id`, `name` , IF(seq = 1, (SELECT COUNT(*) FROM library_in_seoul), NULL) AS `row_count` FROM ( SELECT `id`, `name`, @i := @i + 1 AS seq FROM `table_name` ORDER BY `id` ) S; -- MS-SQL SELECT [id], [name] , CASE seq WHEN 1 THEN (SELECT COUNT(*) FROM [table_name]) ELSE NULL END AS [row_count] FROM ( SELECT ROW_NUMBER() OVER(ORDER BY [id]) AS seq, [id], [name] FROM [table_name] ) S;