2014-09-24 33 views

回答

0

你可以做幾件事。首先,確保你的命名一致。我注意到你的一些名字是Orcs Must Die! 2,有些是Orcs Must Die 2而沒有!Orcs Must Die!Orcs Must Die也是如此。

接下來,添加另一個名爲product_category的列,並使用它對您的結果進行排序。如果您的產品是從Orcs Must Die!轉讓product_categoryorcs_must_die。如果它屬於Orcs Must Die! 2,則將其賦值爲orcs_must_die_2

最後,在你的選擇,簡化事情:

/*Change ASC -> DESC depending on the order you want.*/ 
SELECT name FROM products ORDER BY product_category ASC; 

希望幫助。我想你可能剛剛結束了你選擇的複雜事情。


編輯:既然你不訪問數據庫中的數據(我認爲可能是一個問題),這可能是難以實現的,由於數據的不一致和不可靠的列進行排序數據通過。

這個查詢:(即OCD1前OCD2)

SELECT id, name, s_name FROM products WHERE s_name LIKE '%orcs must die%' UNION SELECT id, name, s_name FROM products WHERE s_name LIKE "%orcs must die 2%" ORDER BY id DESC; 

作品,但沒有ORDER BY id DESC;它打印出來以錯誤的順序堅持工作,看看是否有一種方法,以更好地優化數據並從那裏出發。

+0

對於命名部分,我從外部網站獲取這些名稱,所以我不能在我的代碼中編輯它們,我正在用's_name'進行搜索,這對每個產品都是一樣的('獸人必須死亡......和'獸人必須死亡2 ...')。對於分揀部分,這兩個產品就是例子,我的桌子上可以有其他產品。我需要得到的是:這兩個'獸人必須死亡......'和獸人必須死亡2 ...'產品,但通過搜索查詢排序(我輸入'獸人必須死亡'我希望所有'獸人必須死... '產品首先,與另一個相同)。這需要適用於每個產品可能有以前或以後的版本。 – 2014-09-25 11:05:26

+0

我有權訪問數據庫,但無法通過代碼編輯數據,因此我必須親自編輯它,但這需要很長時間。您的查詢沒有意義。喜歡是非常慢,所以我使用全文搜索...如果我搜索「獸人必死」我得到了兩個結果,我需要對它們進行排序。所以你的查詢不是正確的... – 2014-09-28 13:58:40