在具有以下5个字段的MYSQL表中:id, user_id, date, type, uid其中type可以为12,我正在寻找一个查询,我可以获取2个结果,一个用于type = 1,另一个用于根据日期字段输入type = 2。

现在,我有以下查询,该查询仅给我最后一个uid,而没有照顾type字段。

    选择t.uid
    从表AS t
    在哪里t.user_id = 666
    按日期排序
    DESC LIMIT 1
 

有谁知道应该如何修改此查询,以便我可以基于日期字段获取type = 1的最后一个uid和type = 2的最后一个uid?我想保留一个查询

最佳答案

Union all可能是最简单的方法:

(select t.*
 from t
 where t.user_id = 666 and t.type = 1
 order by date desc
 limit 1
) union all
(select t.*
 from t
 where t.user_id = 666 and t.type = 2
 order by date desc
 limit 1
)

关于mysql - 仅获取2个结果,每个具体字段的值对应一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38904118/

10-12 15:07
查看更多