首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >某些字符串的最新版本的Mysql视图

问某些字符串的最新版本的Mysql视图
EN

Stack Overflow用户
提问于 2013-05-20 22:08:25
回答 1查看 52关注 0票数 0

在我的数据库中,我有一个表,其中包含某个已翻译字符串的所有版本。我想创建一个视图,该视图返回一个表,其中包含每个字符串的所有最新版本。

我想出了下面的解决方案。

代码语言:javascript
复制
Table Strings
idString, Date, String, Chapter

这些是表的属性

代码语言:javascript
复制
View StringOrdered
Create  View StringOrdered(idString, Date, String, Chapter) AS
SELECT * FROM Strings ORDER BY Date DESC

这是支持视图。

代码语言:javascript
复制
View LastVersion
CREATE VIEW LastVersion (idString, Date, String, Chapter) AS
SELECT * FROM StringOrdered GROUP BY Chapter

有没有办法在没有支持视图的情况下获得它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-20 22:43:08

基于数据的排序,您将依赖于group by获取某些内容的最新版本。尽管这在实践中可能行得通,但MySQL文档特别说明不支持这一点。取而代之的是,尝试如下所示:

代码语言:javascript
复制
create view LastVersion as
    select s.*
    from strings s
    where s.chapter = (select max(chapter)
                       from strings s2
                       where s.String = s2.String
                      )

我假设你正在寻找String的最新章节。如果您正在查找StringId的最新章节,请相应地更改where语句。

请注意,MySQL不支持视图的from子句中的子查询。这句话很清楚(here):

SELECT语句不能在FROM子句中包含子查询。

它确实支持其他子句中的子查询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16651386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档