簡體   English   中英

如何在sql中設置列的每個不同值的唯一名稱

[英]how to set unique name of each distinct values of a column in sql

我有一個包含重復值的列testVal的表testTble 我可以使用DISTINCT(testVal)找到列的每個唯一值。 但我想為列的每個唯一值設置一個特定的名稱。

喜歡:

我在我的數據庫中運行查詢並找到了那些不同的值。

SELECT DISTINCT(testVal) AS web FROM `testTble`

輸出:

web
169.254.15.169
10.0.0.91
192.168.80.47
10

現在我想設置這些值的唯一名稱,如下所示:

169.254.15.169作為web21 10.0.0.91作為web22

那么如何設置這樣的名稱呢?

在 MySQL 8+ 中,您可以使用row_number()

select test_val, row_number() over (order by test_val)
from t
group by test_val;

在早期版本中,您可以使用變量:

select test_val, (@rn := @rn + 1) as seqnum
from t cross join
     (select @rn := 0) params
group by test_val;

在這兩種情況下,“名稱”都是一個數值,但這似乎與您想要做的一致。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM