首页 > 解决方案 > 在 MySQL 中使用 SELECT DISTINCT 从数据中删除非字母字符

问题描述

我有一个包含城市名称数据的表格,例如“(伊斯坦布尔)”和“伊斯坦布尔”

我试图只显示城市名称,无论是原始形式还是括号中。

为此,我使用以下代码。

<?php
require_once "config.php";
$sql = $conn->query( "SELECT DISTINCT city FROM countries ORDER BY city" );
if ( $sql->num_rows > 0 ) {
// output data of each row
while ( $row = $sql->fetch_assoc() ) {
    echo '<li> <input type="checkbox" name="cityName" value="' . $row[ "city" ] . '" />' . $row[ "city" ] . '</li>';
}
} else {
echo "0 results";
}
?>

我尝试使用 replace(replace(city, '(', ''), ')', '')

但我不能将它合并到 SELECT DISTINCT 中。

我不确定这是否可能。

提前致谢!

标签: phpmysqldistinct

解决方案


您也可以按顺序添加别名以使用相同的结果

     "SELECT DISTINCT replace(replace(city, '(', ''), ')', '')  as city 
      FROM countries 
      ORDER BY city"

推荐阅读