我嘗試使用條件搜索值,然后對所有可用值進(jìn)行排序。但是當(dāng)我排序時,所有值都被重置。這是我選擇 mysql 。 SELECT * FROM tbProduct WHERE name = '%ASUS%' 返回值是 1 - Asus TUF, 5 - Asus zep, 7 - Asus 然后我單擊排序 mysql 返回 SELECT * FROM tbProduct ORDER BY id DESC。但不是:SELECT * FROM tbProduct WHERE name = '%ASUS%' ORDER BY id DESC 返回值是 9 - Asus TUF, 8 - Linux, 7 - Asus, 6 - MSI, 5 - Asus zep, 4 - MacBook, 3 - DELL, 2 - ACER, 1 - Asus 有什么方法可以對搜索結(jié)果進(jìn)行排序嗎?如果您有想法請告訴我。謝謝
2 回答

拉風(fēng)的咖菲貓
TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個贊
從您的問題來看,您似乎在獲取結(jié)果后單擊排序。這會運(yùn)行另一個查詢,而前一個查詢會丟失。
要獲得所需的結(jié)果,您必須在第一個查詢本身中使用 Sort 語句。
這意味著你必須跑。
SELECT * FROM tbProduct WHERE name = '%ASUS%' ORDER BY id DESC;
位列第一。不要期望在任何基于 GUI 的數(shù)據(jù)庫交互中運(yùn)行一個查詢,然后運(yùn)行另一個查詢,并希望它將從新查詢中返回結(jié)果的子集。

子衿沉夜
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個贊
假設(shè)你的id價值觀是這樣的:
9 - Asus TUF
您可以嘗試僅使用數(shù)字部分進(jìn)行排序:
SELECT *
FROM tbProduct
WHERE name = '%ASUS%'
ORDER BY CAST(SUBSTRING_INDEX(id, ' ', 1) AS UNSIGNED);
- 2 回答
- 0 關(guān)注
- 166 瀏覽
添加回答
舉報
0/150
提交
取消