我的資料庫表中有一個名為“name”的列,它將用戶名存盤為“FirstName LastName”。我希望查詢回傳按姓氏字母順序排列的成員。
$sql = 'SELECT * FROM members ORDER BY name';
$stmt = $pdo->prepare($sql);
$stmt->execute();
$members = $stmt->fetchAll(PDO::FETCH_ASSOC);
這不起作用,因為結果是按全名欄位排序的,而不僅僅是按姓氏排序。我怎么能解決這個問題?
謝謝你。
uj5u.com熱心網友回復:
您可以使用SUBSTRING_INDEX以下方式訂購:
SELECT *
FROM members
ORDER BY SUBSTRING_INDEX(name, ' ', -1);
順便說一句,將名字和姓氏存盤在同一列中通常是不好的表設計。為名字和姓氏設定兩個單獨的列會好得多。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/395654.html
上一篇:為什么我的PHP郵件腳本將空白行發送到mySQL中的表中?[復制]
下一篇:如果沒有找到A,我如何選擇B?
