0
A
答えて
1
これは、仕事をするだろうが、やりたいことは非常に奇妙なことのように思えるので、私はおそらく何かが足りないのですか?
CREATE TABLE #table (col1 CHAR(1), col2 INT);
INSERT INTO #table SELECT 'A', 1;
INSERT INTO #table SELECT 'B', 1;
INSERT INTO #table SELECT 'C', 1;
INSERT INTO #table SELECT 'B', 2;
INSERT INTO #table SELECT 'C', 4;
INSERT INTO #table SELECT 'A', 2;
INSERT INTO #table SELECT 'A', 6;
WITH Ranked AS (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY col1 ORDER BY col2) AS rank_id
FROM
#table),
Numbers AS (
SELECT 1 AS number
UNION ALL
SELECT number + 1 FROM Numbers WHERE number < 50)
SELECT
MAX(CASE WHEN col1 = 'A' THEN col2 END) AS [A],
MAX(CASE WHEN col1 = 'B' THEN col2 END) AS [B],
MAX(CASE WHEN col1 = 'C' THEN col2 END) AS [C]
FROM
Numbers n
INNER JOIN Ranked r ON r.rank_id = n.number
GROUP BY
n.number;
結果は以下のとおりです。
A B C
1 1 1
2 2 4
6 NULL NULL
1
はあなたが凝集することなく旋回するようにしようとしているように見えますか?ここでは別のオプションは次のとおりです。
select A, B, C from
(select col1, col2, dense_rank() over (partition by col1 order by col2) dr from #table) t
pivot
(max(t.col2) for t.col1 in (A, B, C)) pvt;
はまた、より多くの例/議論のためにこれをチェックアウト:TSQL Pivot without aggregate function
関連する問題
- 1. 電力BIピボット列を行にする
- 2. ピボットSQLデータ - 列にグループ行
- 3. 列に私のSQL行をピボット
- 4. SQLiteのピボット(行を列に変換)
- 5. 別の列の値に基づいて行をピボットする列
- 6. SQL - 静的な列名で3行を3列にピボットする?
- 7. 列へのSQLピボット行
- 8. パンダ:列を列にピボットする
- 9. ピボット行のSQL Serverの列に2014
- 10. 列をピボット列にピボットするのに役立つ必要があります。
- 11. Pandasを使用して行データを列にピボットする
- 12. ピボットを使用して行を列に変換する
- 13. SQLクエリのピボット列のピボット
- 14. 見出しの列1と行2の列2をピボットする
- 15. Excelのピボット行のフィルタ列を
- 16. テーブルのピボットの行を固定数の列に変更する
- 17. ピボット行
- 18. Googleスプレッドのピボット - マルチパイプヘッダーの列と行
- 19. ピボット1行n列からn行1列まで
- 20. SQLピボット行が
- 21. パンダ:ピボットDATAFRAME、行
- 22. ピボット複数行
- 23. Oracleのピボット列
- 24. MS-Accessピボット列
- 25. PostgreSQLのピボット列
- 26. ピボット/ここ列
- 27. ピボット列のvarchar
- 28. PHPの行から動的なピボット列を作成する
- 29. SQL Server:複数の列にピボットする
- 30. テーブルをピボット解除してからテーブルをピボットすると、列が行になり、1列が行になります。
はい、私は私の答えの最後に着いた後、これは単なるPIVOTなければならないことを実現したが、その後I DIはこれよりずっと良い答えだと思っています。数字の表はありません。 –