我有以下MySQL查詢:如何在MYSQL中自定義'Order BY'?
SELECT merchantNames.strippedName,merchantNames.lastCached,merchantNames.id
FROM merchantNames
JOIN autoCoupons
ON merchantNames.rawName = autoCoupons.merchantName
WHERE NOW() > autoCoupons.startDate AND autoCoupons.startDate > merchantNames.lastCached
OR NOW() > autoCoupons.endDate AND autoCoupons.endDate > merchantNames.lastCached
OR NOW() > autoCoupons.timeAdded AND autoCoupons.timeAdded > merchantNames.lastCached
OR merchantNames.lastCached < NOW() - INTERVAL 2 DAY
GROUP BY merchantNames.strippedName
ORDER BY merchantNames.pageviews DESC
如何設置這個查詢訂購這樣的結果,那些滿足前三行的WHERE子句條件是在頂部和那些只有滿足底線纔是底線?
所以如果我正確地理解了你,這些行末尾的AS會從AND的兩端收集它的布爾結果,而不僅僅是從它的尾部結束? –
你可以放在括號內以確保。 – jmilloy
它有效,但它只有一些非常小的錯誤,所以不要批評,但要幫助清除它,我會解釋它們。您需要在'AS a'和'AS b'之後添加逗號。另外,我需要在'merchantNames.id'下面添加'merchantNames.pageviews',以便能夠在最終的ORDER BY子句中使用它。再次感謝! –