簡體   English   中英

php 和 mySQL 如何在 varchar 列中獲得最大值

[英]php and mySQL how to get highest value in a varchar column

在我有一個需要唯一的列的情況下,例如。 產品:雞蛋,西紅柿,胡椒,胡椒1,胡椒2,在我插入另一個胡椒之前,我需要檢查最后一個integer,然后加1,所以下一個胡椒是'pepper3'我該怎么做? 提前致謝

簡單的方法是有兩列:第一列用於 label,第二列用於 id。 在同一列中混合各種信息從來都不是一件好事。

然后你可以做類似的事情:

SELECT MAX(product_id) FROM ... WHERE label = "pepper"

SELECT CONCAT(label,product_id) FROM ... WHERE id = ...

返回你想要的。

我會嘗試這樣的事情:

SELECT LEFT(product_name, 6) AS product_name_plain,
    CAST(RIGHT(product_name, 6) AS UNSIGNED) AS product_number
  FROM product_table
  WHERE product_name_plain = "pepper"
  ORDER BY product_number DESC
  LIMIT 1
  • SELECT將產品名稱分為普通名稱(“胡椒”)和產品編號的無符號 integer 版本 (3)。
  • WHERE子句標識辣椒。
  • ORDER BY將對它們進行排序(這應該導致最后一個辣椒成為第一個結果)
  • LIMIT只會獲取一個結果。
  • 請注意,“6”和“pepper”在此查詢中是硬編碼的,您的代碼必須將它們放入。6 是“pepper”的長度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM