Sql 对';版本控制&x27;特征

Sql 对';版本控制&x27;特征,sql,ruby-on-rails,ruby,Sql,Ruby On Rails,Ruby,我正在对正在上载的文档执行类似“版本控制”的操作。因此,当我上传一个新文档时,我会检查表中是否已经有一个同名的文档,如果有,我也会添加这个记录,但我会将+1添加到“version”列。但是,我只需要向用户显示文档的最新版本。我对SQL的了解非常基础,所以我不知道如何进行一个查询,该查询应该选择“name”列中具有相同值的所有记录,但只获取“version”列中具有最高值的行 技术是错误的。 数据库是SQLite 提前谢谢 你可以使用像papertrail这样的宝石。它的版本ActiveRecor

我正在对正在上载的文档执行类似“版本控制”的操作。因此,当我上传一个新文档时,我会检查表中是否已经有一个同名的文档,如果有,我也会添加这个记录,但我会将+1添加到“version”列。但是,我只需要向用户显示文档的最新版本。我对SQL的了解非常基础,所以我不知道如何进行一个查询,该查询应该选择“name”列中具有相同值的所有记录,但只获取“version”列中具有最高值的行

技术是错误的。 数据库是SQLite


提前谢谢

你可以使用像
papertrail
这样的宝石。它的版本
ActiveRecord
型号。

这在选择时非常基本

YouModel.where(name: params[:name]).order("version DESC").limit(1)

相同的名字还是相同的内容?需要考虑的是……我认为不需要任何额外的宝石,我认为有办法通过中等难度的查询做到这一点。@OlegKiviljov:中等难度的查询也会将您的模式变成一团乱麻,在您最意想不到的地方产生性能影响,如果您最终执行Ivan突出显示的查询。