Mysql 与MAX()不同?

Mysql 与MAX()不同?,mysql,sql,Mysql,Sql,如何获取具有最大EffectivityDate的不同TypeID的行 原始表格 查询结果 有什么帮助吗?您可以在子查询中获取它们的最大EffectiveDate,然后用它自己的表再次连接它 SELECT a.* FROM tableName a INNER JOIN ( SELECT TypeID, MAX(EffectivityDate) maxDate FROM tableName

如何获取具有最大
EffectivityDate
的不同
TypeID
的行

原始表格 查询结果
有什么帮助吗?

您可以在子查询中获取它们的最大
EffectiveDate
,然后用它自己的表再次连接它

SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT TypeID, MAX(EffectivityDate) maxDate
            FROM tableName
            GROUP BY TypeID
        ) b ON  a.TypeID = b.TypeID AND
                a.EffectivityDate = b.maxDate
试试这个:

select * 
from   your_table t
join
       (select TypeID ,max(EffectivityDate ) as EffectivityDate 
        from your_table
        group by TypeID )a
on   t.TypeID =a.TypeID 
and  t.EffectivityDate =a.EffectivityDate 

你怎么打字这么快……)+1快速回复。附带的问题是,有没有工具可以在SQLFiddle中为表创建模式?这里有一个简单的方法,复制上面的表,返回SQLFiddle,单击上部的
文本到DDL
,然后单击
附加到DDL
顺便说一句,SQLFiddle是一个非常神奇的工具!:上帝啊!我从没见过那个工具。我习惯于通过手动键入来创建模式:(.但感谢您建议:)应该是
select t.*
SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT TypeID, MAX(EffectivityDate) maxDate
            FROM tableName
            GROUP BY TypeID
        ) b ON  a.TypeID = b.TypeID AND
                a.EffectivityDate = b.maxDate
select * 
from   your_table t
join
       (select TypeID ,max(EffectivityDate ) as EffectivityDate 
        from your_table
        group by TypeID )a
on   t.TypeID =a.TypeID 
and  t.EffectivityDate =a.EffectivityDate