[英]Getting the highest number from a mysql query
我的問題是我需要創建一個訂單,以便可以在此Web應用程序中上下移動項目。 但是,我無法通過具有增量值的索引來索引order(ord列)值,因為同一表中有幾家公司使用此列。
我的表結構是這樣的:
現在,我在想,最簡單的方法是做一個MAX並獲取最大的數字,並以某種方式將其用作索引,這樣一來,當您添加一個新的公司名稱時,對於特定的公司列表,您永遠都不會獲得相同的數字兩次公司的新條目。
SELECT MAX(ord) FROM phonebook WHERE `id_company` = "51";
這是明智的選擇嗎? 或者,也許為每個客戶創建一個新的數據庫,然后創建並建立索引並將其用作訂購條目的方式?
我建議您在分配ord
值時目標並非完全完善。 您可以按以下步驟解決:
ord
獨一無二。 (不是)。 phonebook_name
的順序來獲得良好的名稱順序。 正是出於這個目的,MySQL具有這些出色的不區分大小寫的排序規則。 ord
列設置為每個人50
,然后給您輸入您想要的第一個小數字,然后輸入您想要的最后一個大數字。 當顯示特定公司的數據時,請按照以下步驟操作...
SELECT whatever, whatever
FROM phonebook
WHERE id_company = 11
ORDER BY ord, phonebook_name, phonebook_number, id_phonebook
該ORDER BY
子句將執行您想要的操作,並且如果存在重復項,它將保持穩定。 然后,您可以在用戶界面中將帶有上述查詢的條目上移。
UPDATE phonebook SET ord=ord-1 WHERE id_phonebook = :recordnumber
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.