2016-05-11 67 views
1

我想按兩列排序。兩個字符串都是受歡迎程度,另一個是MYSQL中的createDT。受歡迎程度會有數字,createDT有25-05-2016格式。由兩列命令不起作用

我正在嘗試下面的查詢。但是,我永遠保持第一我的意思是我我通過人氣ASC命令,創建DDS DESC。它正在第一列。我也試着保留STR_TO_DATE。不工作。我希望它應該通過兩者檢查順序。

SELECT 
    id, 
    productId, 
    productJson 
FROM 
    product 
WHERE 
    subcategory = ? 
ORDER BY 
    STR_TO_DATE(createDt, '%d-%m-%Y') DESC, 
    popularity ASC 
+0

您是否有該查詢的輸出示例?也許你期望另一種行爲 –

+0

我的意思是產品應該按照使用創建日期和流行度的順序顯示..如果5種產品具有相同的日期nd受歡迎程度不同,那麼它應該看到哪個產品具有較少的數量應該優先 – user6250770

+1

您能否提供一些樣品數據和預期結果?查詢看起來不錯。 –

回答

1
SELECT 
    id, 
    productId, 
    productJson, 
    popularity, 
    createDt 
FROM 
    product 
WHERE 
    subcategory = ? 
ORDER BY 
    STR_TO_DATE(createDt, '%d-%m-%Y') DESC, 
    popularity ASC; 

它爲我工作。