[英]LIMIT results in MySQL?
好的; 這已經讓我的大腦炸了幾個小時。 我想我可能需要一個子查詢,但我在這種事情上並不那么先進,所以任何正確方向的幫助或指示都將不勝感激。
這是我的查詢....
$query = "SELECT * FROM events WHERE event_type = 'Christmas Listings' AND event_active='Yes' ORDER BY event_date ASC LIMIT 5";
$result= mysql_query($query);
好的......現在我想要實現的簡單英語位(以了解我想要實現的目標):
我想檢查事件類型 (' event_type
') 是我得到的(即聖誕節列表),因為此列中有多種類型。
我想檢查事件是否處於活動狀態(' event_active
')是是(該字段中的數據是是/否)。
我想按 (' event_date
') ASC(此字段中的數據為yyyy-mm-dd
)對它們進行排序,因此它們會按日期顯示來自數據庫的最新條目。
當通過 WHILE 語句運行此類查詢時,我想限制(或以某種方式控制輸出)結果只顯示 5 個結果。
好的,這一切正常,但是; 當我進入實際的輸出顯示時,我在實際顯示的結果數量上有一個不穩定的輸出......如果我有多個關閉的事件會發生什么,如event_active
是“ Off
”那么它幾乎就像參數是從所有結果(包括event_active='Off'
)計算的,因此沒有顯示我希望它們如何顯示?
希望這是有道理的......任何幫助將不勝感激。
SELECT *
FROM events
WHERE event_type = 'Christmas Listings' AND event_active='Yes'
ORDER BY event_date
LIMIT 0, 5
所以你的陳述更容易閱讀..
我真的不確定你在問什么,但LIMIT
工作原理如下:
LIMIT
表示在您的查詢完成並處理所有WHERE
語句后,僅返回前 5 個。
所有的結果,其中event_active
不是“是”將不會被顯示,並在一切都忽略不計。
此結果與您在沒有限制的情況下進行查詢的結果相同,只需查看前 5 行。
那個查詢應該沒問題。 我會檢查您的數據集(或者甚至更好,發布它!)。 您可能還想研究規范化數據庫。 它會在未來幫助你。
我認為問題在於您的“event_active”。
MySQL 使用 0 和 1 來表示該字段是否為真/假、是/否、開/關。 嘗試在 SELECT 語句中使用 0 和 1,除非該字段上的字段類型是 VARCHAR 並且您實際上正在使用這些詞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.