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. 按順序編號由
- 6. 生成編號標記
- 7. Javascript生成分頁編號
- 8. 生成唯一編號
- 9. 分頁生成編號
- 10. 可擴展的順序號生成器使用@TableGenerator
- 11. 以排序順序生成隨機數
- 12. 發生順序號繼續嗎?
- 13. XSLT序列號生成
- 14. SQL生成序列號
- 15. 編號順序,而使用ORDER BY
- 16. 數據表按編號字段順序
- 17. 灌裝與順序編號的數組
- 18. Excel - 按編號順序突出顯示
- 19. 包括順序編號匹配文本
- 20. 如何順序編號複製行?
- 21. SQL函數返回順序編號的
- 22. 如何生成序列號(註冊號)?
- 23. 以不同的順序生成itertools.product
- 24. EF ToTraceString SQL生成結果列順序
- 25. 如何生成順序的GUID?
- 26. 順序鍵的並行生成
- 27. 生成字母數字串順序
- 28. 算法生成不同的順序
- 29. 爲ReactJS鍵生成順序ID
- 30. 按順序「拆分」/「生成」操作?
非常感謝,先生,這是我想要的。 – JamshaidRiaz