我有以下的表稱爲議程:MYSQL查詢從表中選擇並按日期和其他字段排序。其他優先領域
ID:visible:sticky:startdate
1: 1: 1:2014-03-08
2: 1: 0:2014-02-25
3: 1: 0:2014-02-27
4: 1: 0:2014-02-20
5: 1: 0:2014-03-12
(ID->int, visible->tinyint, sticky->tinyint, startdate->date)
我運行下面的查詢按日期以獲得未來三個議程項目,工作過程的罰款。返回ID的4,2,3
SELECT *
FROM agenda
WHERE visible
AND startdate >= "2014-02-12"
ORDER BY startdate ASC
LIMIT 3
但我想是優先考慮的是有粘性的領域= 1,如果有將它設置在它們應該在的結果和被佔的ORDER領域通過。所以我想它返回的是ID的4,2,1
這怎麼能實現?
確實可見是TINYINT,而不是BOOL?此外,請參閱FIELD() – Strawberry
可見在這種情況下是TINYINT,但它充當BOOL。它是1或0,所以查詢在哪裏可見和正在工作 – tvgemert
@tvgemert'在哪裏(可見 AND startdate> =「2014-02-12」)或sticky = 1'? – Alexander