Q
生成編號順序
2
A
回答
1
所以A
的都是1XXXX
,B
的2XXXX
通過Z
的26XXXX
。試試這個:
SELECT
10000 * (ASCII(LEFT(Field2, 1)) - 64)
+ ROW_NUMBER() OVER (PARTITION BY LEFT(Field2, 1) ORDER BY Field2) Field1
,Field2
FROM
(VALUES ('Alpha Company'), ('Airborn Company'), ('Bravo Company'),
('Charlie Company'), ('Cake Company'), ('Camel Company'),
('Delta Company'), ('Zeta Company')) A (Field2);
Field1 Field2
-------------------- ---------------
10001 Airborn Company
10002 Alpha Company
20001 Bravo Company
30001 Cake Company
30002 Camel Company
30003 Charlie Company
40001 Delta Company
260001 Zeta Company
1
您可以使用rank
窗函數產生這些ID:
SELECT 10000 + RANK() OVER (ORDER BY field2 ASC) as field1, field2
FROM my_table
編輯:
我誤解了這個問題。你需要的第一個字母一個單獨的排名和整個名稱:
SELECT 10000 *
RANK() OVER (PARTITION BY LEFT(field2, 1) ORDER BY field2 ASC) +
RANK() OVER (ORDER BY field2 ASC) as field1,
field2
FROM my_table
+1
感謝您的答覆,但它是固定的,但是我想生成應相應字母順序的等級一個數字,比如,如果字與「A」的標識應開始啓動1,如果Word以「B」開頭,則ID應以2開頭,依此類推。 – JamshaidRiaz
+0
@JamshaidRiaz我誤解了這個問題。看到我編輯的答案,它應該產生你想要的輸出。 – Mureinik
相關問題
- 1. 順序生成的字母數字編號
- 2. 按順序生成
- 3. 順序編號和子編號
- 4. 生成序號
- 5. PHP中的順序編號
- 6. jQuery:順序編號控制
- 7. 查找順序編號
- 8. 按順序編號由
- 9. MSWord 2010-順序編號
- 10. 順序編號的行
- 11. 編號生成所需的編號邏輯程序
- 12. SQL生成組編號
- 13. ImageMagick的生成編號
- 14. 按條件生成編號
- 15. 生成編號標記
- 16. 分頁生成編號
- 17. 按組生成編號
- 18. 生成唯一編號
- 19. 可擴展的順序號生成器使用@TableGenerator
- 20. 以排序順序生成隨機數
- 21. 發生順序號繼續嗎?
- 22. SQL生成序列號
- 23. XSLT序列號生成
- 24. 生成一個序列號
- 25. Sql server生成序列號
- 26. LINQ生成序列號
- 27. SSAS:周編號順序按問題
- 28. 訂單編號的字母順序
- 29. SQL函數返回順序編號的
- 30. 順序編號的帖子在Tumblr
非常感謝,先生,這是我想要的。 – JamshaidRiaz