SQL Server sql问题-选择列并显示在不同的行中

e3bfsja2  于 2022-12-22  发布在  其他
关注(0)|答案(1)|浏览(102)

感谢这个论坛,我找到了很多问题的答案。2我有一个sql问题。3希望有人能帮助。4为了简单起见,这里有一个2列的表。5未排序。
| 数目|信件|
| - ------| - ------|
| 1个|A类|
| 第二章|乙|
| 1个|C级|
| 三个|S型|
| 第二章|L型|
我怎样才能选择多个列并放在不同的行中呢?对于前输出应该作为一个附加列
| 纽科尔|
| - ------|
| 1个|
| A类|
| C级|
| 第二章|
| 乙|
| L型|
| 三个|
| S型|
我试过滞后,领先,CTE等...我无法产生预期的结果。任何帮助是赞赏。谢谢

INSERT INTO T1 
  (numbers, letters)
  VALUES 
  ('1', '1A'),
  ('1', '1B'),
  ('1', '1C'),
  (3, '3B'),
  (1, '3C'),
  (3, '3D'),
  (2, '2A'),
  (4, '2B'),
  (7, '2C'),
  (3, '3A')
  ;
;
with cte as (select top(1000000) numbers, letters
             from T1
             order by numbers)

select numbers, letters as newcol
from cte order by cte.numbers,  cte.letters;

我需要按第一列排序-然后第二列。有可能吗?任何帮助感激。谢谢

hgqdbh6s

hgqdbh6s1#

下面的代码将解决您的问题:

SELECT numbers, letters, 
       ROW_NUMBER() OVER (PARTITION BY numbers ORDER BY letters) as newcol
FROM T1
ORDER BY numbers, letters

相关问题