3 回答

TA貢獻(xiàn)1788條經(jīng)驗 獲得超4個贊
這是您的查詢:
Select Max(CustomerID) AS MaxID
From TblCustomers
這是一個聚合查詢。no 的聚合查詢group by總是返回一行——不管是否有任何行匹配。
單行中返回的值是NULLfor MaxId。
我非常懷疑你想做什么。如果您想要最大 id - 如果表為空則沒有行 - 然后執(zhí)行:
select c.CustomerID
from TblCustomers c
order by c.CustomerID desc
fetch first 1 row only;
(這使用 ANSI/ISO 標(biāo)準(zhǔn)語法,因此確切的邏輯可能取決于您的數(shù)據(jù)庫。)
我的懷疑是,然后您想將此 id 用于insert- 這是一種不好的方法。幾乎所有數(shù)據(jù)庫都支持某種類型的自動遞增列(使用語法元素,例如auto_increment、serial或identity)。這是為表中的列分配唯一遞增 id 的正確方法。

TA貢獻(xiàn)1816條經(jīng)驗 獲得超6個贊
如果沒有符合條件的行,則 Sql 查詢可能會返回 null。
如果目的是查找返回的行數(shù)。更改 sql 查詢以返回計數(shù),而不是使用聚合函數(shù)。
- 3 回答
- 0 關(guān)注
- 193 瀏覽
添加回答
舉報