MySQL查詢結果取一半是非常常見的需求,我們可以通過LIMIT關鍵字來實現。
SELECT * FROM table_name LIMIT 5; -- 取前5條數據
上述代碼會查詢table_name表中的所有數據,但只會返回前5條結果。
如果我們想查詢一半數據,可以通過COUNT函數計算總數據量,再除以2得到一半的數量。注意,這里需要使用向下取整函數FLOOR,因為LIMIT后面必須是整數。
SELECT * FROM table_name LIMIT FLOOR((SELECT COUNT(*) FROM table_name) / 2);
上述代碼會查詢table_name表中的所有數據,但只會返回一半的結果。
如果想要查詢一半加一條數據,可以在LIMIT后面加上1。
SELECT * FROM table_name LIMIT FLOOR((SELECT COUNT(*) FROM table_name) / 2) + 1;
上述代碼會查詢table_name表中的所有數據,但只會返回一半加一條的結果。
LIMIT關鍵字可以接收兩個參數,第一個是偏移量,第二個是返回數量。如果我們想查詢后一半數據,可以通過偏移量來實現。
SELECT * FROM table_name LIMIT FLOOR((SELECT COUNT(*) FROM table_name) / 2), (SELECT COUNT(*) FROM table_name);
上述代碼會查詢table_name表中的所有數據,但只會返回后一半的結果。
上一篇css3 如何兼容ie
下一篇mysql查詢結果加序號