在 MySQL 中使用 SELECT DISTINCT 从数据中删除非字母字符
Removing non-letter characters from data using SELECT DISTINCT in MySQL
我有一个 table 包含城市名称的数据,例如“(伊斯坦布尔)”和 "Istanbul"
我试图只显示城市名称,无论是原始形式还是括号中。
为此,我使用了以下代码。
<?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";
}
?>
我试过用
替换(替换(城市,'(',''),')','')
但我无法将其合并到 SELECT DISTINCT 中。
我不确定这是否可能。
提前致谢!
您可以添加别名以按顺序使用相同的结果
"SELECT DISTINCT replace(replace(city, '(', ''), ')', '') as city
FROM countries
ORDER BY city"
试试这个查询希望它有帮助:-
$sql = $conn->query( "SELECT DISTINCT city FROM countries ORDER BY city WHERE city LIKE '(%)'" );
或
$sql = $conn->query( "SELECT DISTINCT city FROM countries ORDER BY city WHERE city LIKE '(%' AND LIKE '_)%'" );
我有一个 table 包含城市名称的数据,例如“(伊斯坦布尔)”和 "Istanbul"
我试图只显示城市名称,无论是原始形式还是括号中。
为此,我使用了以下代码。
<?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";
}
?>
我试过用 替换(替换(城市,'(',''),')','')
但我无法将其合并到 SELECT DISTINCT 中。
我不确定这是否可能。
提前致谢!
您可以添加别名以按顺序使用相同的结果
"SELECT DISTINCT replace(replace(city, '(', ''), ')', '') as city
FROM countries
ORDER BY city"
试试这个查询希望它有帮助:-
$sql = $conn->query( "SELECT DISTINCT city FROM countries ORDER BY city WHERE city LIKE '(%)'" );
或
$sql = $conn->query( "SELECT DISTINCT city FROM countries ORDER BY city WHERE city LIKE '(%' AND LIKE '_)%'" );