忽略SQLite中的空记录的MIN()

忽略SQLite中的空记录的MIN(),sqlite,Sqlite,我有一个表,我的_值,可能有一些丢失的记录;所谓“缺失”,我指的是记录的内容=“” 我希望获得多个同名行的最小值,但问题是,如果我使用此选项: SELECT MIN(my_value) FROM My_Values WHERE name LIKE 'John' 它返回'。(空白字符串?术语?) 我知道MIN()应该忽略null,但它似乎没有忽略“”。编写查询以告诉它也忽略“”的最佳方法是什么?将额外条件添加到WHERE子句中: SELECT MIN(my_value) FROM My_Valu

我有一个表,我的_值,可能有一些丢失的记录;所谓“缺失”,我指的是记录的内容=“”

我希望获得多个同名行的最小值,但问题是,如果我使用此选项:

SELECT MIN(my_value) FROM My_Values WHERE name LIKE 'John'
它返回
'
。(空白字符串?术语?)


我知道MIN()应该忽略null,但它似乎没有忽略“”。编写查询以告诉它也忽略“”的最佳方法是什么?

将额外条件添加到
WHERE
子句中:

SELECT MIN(my_value) FROM My_Values WHERE name LIKE 'John' AND my_value != ''

WHERE
子句中添加额外条件:

SELECT MIN(my_value) FROM My_Values WHERE name LIKE 'John' AND my_value != ''

从“我的值”中选择MIN(我的值),其中的名称如“John”和我的值!='',怎么样?“我的价值观”是什么类型的?@Michael就是这样。我确实试过类似的方法,但肯定是弄错了,所以我认为我忽略了更复杂的东西。您是否应该将您的评论移到一个答案上,我会接受它?@DmitryBeransky my_value是一个表示持续时间的字符串(例如“0:00:02:173000”)您的小时数是否为零?否则,可能会出现排序问题,因此,min()可能并不总是返回正确的值。考虑到“9:00 0:173000”大于“10:00:0:173000”,如何从MyOx值中选择Min值(MyualValm),其中名为“John”和MyOxValue=“?”“我的价值观”是什么类型的?@Michael就是这样。我确实试过类似的方法,但肯定是弄错了,所以我认为我忽略了更复杂的东西。您是否应该将您的评论移到一个答案上,我会接受它?@DmitryBeransky my_value是一个表示持续时间的字符串(例如“0:00:02:173000”)您的小时数是否为零?否则,可能会出现排序问题,因此,min()可能并不总是返回正确的值。认为“9:00∶0:173000”大于“10:00∶0:173000”。