如何获取表中特定字段的最大值?

时间:2013-07-23 09:05:28

标签: iphone ios sql objective-c

正如我的问题所说,我怎样才能从表中获得最大价值?

在我的应用中。我的表名为 dataset_master

表格的字段名称为 dataset_id ,它会手动添加为auto_inc

所以,第一次没有在表中插入记录,当我插入第一条记录时,我添加 dataset_id 1。 (这只是第一次)

然后插入 dataset_id 的下一条记录后,我为 dataset_id 的获取 max 值启动查询,然后插入 dataset_id +1 。 (这是为了下一条记录,依此类推......)

在我的情况下,我使用以下查询获取最大值 dataset_id

SELECT MAX(dataset_id) FROM dataset_master where project_id = 1

在我的应用程序中,我希望 dataset_master 表中的字段名称的最大值为 dataset_id

每当我获得 dataset_id 的正确最大数量时,我将记录插入 dataset_master 表时,此查询就能正常工作。但是当我在表格中删除像(从1到5)的亮片中的记录时,在我插入新记录之后,我每次都得到最后一个最大数字,如

如果我的表有10条记录,那么我的 dataset_id 是1到10; 当我删除1到5之类的记录时,表中仍保留6到10条记录以及 dataset_id 。 然后在我插入新记录后,每次我 10 (最大数量),所以每次新记录 dataset_id dataset_id + 1 所以 11

我不知道的问题是什么(在查询中可能有误?),请提出您的建议。

2 个答案:

答案 0 :(得分:1)

您需要重置sqlite_sequence table中的序列。我建议你不要担心这一点,因为当它成为一个问题时,这将是你头疼的最少。

答案 1 :(得分:0)

我认为问题不在您的查询中,而是在您的插入中。插入新行时强制dataset_id吗?

相关问题