![](/img/trans.png)
[英]Select distinct records and at the same time first occurance of the record from MySQL
[英]Does MySQL “SELECT LIMIT 1” with multiple records select first record from the top?
我搜索了又搜索,但找不到這個問題的答案,我可能問錯了。
我正在查詢員工數據庫。
我需要根據職位 id 獲取詳細信息,但是該職位 id 可能有多個記錄,因為該組織有針對同一職位的固定員工和臨時員工。
因此,為了獲得位置 id 的當前占用者,我需要我的查詢從 TOP DOWN 中選擇與位置字符串匹配的第一個記錄。
這會從頂部選擇第一個匹配的記錄嗎?
SELECT * WHERE `position_id`="00000000" LIMIT 1;
提前致謝。
您需要一個ORDER BY
子句來定義表中各個記錄之間的排序。 如果不使用ORDER BY
,則可以假設記錄之間沒有固定順序,並且每次執行查詢時都可以獲得新順序。
從手冊:
帶一個參數,該值指定從結果集的開頭返回的行數
因此,使用LIMIT 1
您將獲得結果集中的第一行。 結果集是什么取決於使用的引擎和您擁有的索引。 如果要添加第一行,則需要創建另一列來定義它。
它只是隨機獲取一個* 。 除非您添加ORDER BY
子句,否則無法確定它將是哪一個。
*當然,並不是真的隨機。 這取決於記錄的存儲方式,重復查詢可能每次都返回相同的結果,至少只要您不修改表或其內容。 我的意思是,你不能確定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.