Mysql

Mysql,獲取欄位以特定字元結尾的所有行,並且存在另一個相同但不以該字元結尾的欄位

  • June 5, 2020

我需要獲取所有以特定字元結尾的行,例如 P ,但其中存在類似的鍵而不存在 P 。我不知道如何在 MySQL 中處理這個問題。

這是一個很小的例子,我的實際數據與其他列也很大。

+------------+
|    key     |
+------------+
| value_100  |
| value_100P |
| value_101  |
| value_101  |
| value_102  |
| value_102P |
| value_102P |
| value_102P |
| value_103P |
| value_103P |
| value_104P |
+------------+

查詢將輸出,

+------------+
|    key     |
+------------+
| value_100P |
| value_102P |
+------------+

這個怎麼樣 :

select t1.key 
from table1 t1 
inner join table1 t2 
     on   t1.key = t2.key || 'P' 
where t1.key like '%P' 
order by t1.key ; 

查詢 t1 會為您提供所有具有以“P”結尾的鍵的行的列表。

與 t2 的連接基於 t2 的鍵加上尾隨的“P”與 t1 中的鍵匹配的行(或者,原始鍵沒有尾隨的“P”)。

引用自:https://dba.stackexchange.com/questions/268265