返回MySQL数据库中最小长度的字符串

Goo*_*ofy 7 mysql string

我有一个名为"Inventory"的表,其中包含Item(varchar),Amount(int),Type(varchar)字段

我想要提取的是包含以下字段的行:

Type类型的所有项目的Item字段中的最短条目

所有类型的项目的所有金额的总和

我有以下内容:

SELECT Item, sum( Amount ) FROM Inventory GROUP BY Type
Run Code Online (Sandbox Code Playgroud)

它给出了我想要的东西,除了它没有返回最短的项目,而是它有一个其他项目(我认为它找到的最后一个).最短的意思是最小字符串长度.

谢谢你的帮助.

Gau*_*rav 8

您可以通过子查询获取它.

select type, sum(amount), item 
from inventory 
group by type
having length(item) <= (select min(length(item)) from inventory)
Run Code Online (Sandbox Code Playgroud)

用户Order By columnName ASC /DESC进行排序和LIMIT 1获取其中一个