MySQL查询最新条目 [英] Mysql query most recent entry with a twist

查看:130
本文介绍了MySQL查询最新条目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将如何进行Mysql查询以获取每种类型的最新条目.然后计算它们并根据名称显示.谢谢

How would I make a Mysql query that would grab the most recent entry for each type. Then count them and display based off name. Thank you

MYsql数据库

Id | Date      | Type | Name  | Time  
1    11/8/2010 | 12312| Bill  | 7:30 AM  
2    11/8/2010 | 12311| Bill  | 7:45 PM  
3    11/8/2010 | 12312| Bill  | 8:30 AM  
4    11/8/2010 | 12310| Bill  | 9:40 AM  
5    11/8/2010 | 12312| Rich  | 7:30 AM  
6    11/8/2010 | 12312| Rich  | 7:45 PM  
7    11/8/2010 | 12312| Jim  | 8:30 AM  
8    11/8/2010 | 12310| Jim  | 9:40 AM  
9    11/8/2010 | 12312| Jim  | 7:30 AM  
10   11/8/2010 | 12310| Jim  | 7:45 AM  

mysql查询/php输出

mysql query/php output

Bill = 3    
2    11/8/2010 | 12311| Bill  | 7:45 PM  
3    11/8/2010 | 12312| Bill  | 8:30 AM  
4    11/8/2010 | 12310| Bill  | 9:40 AM  
Rich = 1  
6    11/8/2010 | 12312| Rich  | 7:45 PM  
Jim = 2  
7    11/8/2010 | 12312| Jim  | 8:30 AM  
8    11/8/2010 | 12310| Jim  | 9:40 AM  

推荐答案

SELECT  m.*
FROM    (
        SELECT  DISTINCT name, type
        FROM    mytable
        ) md
JOIN    mytable m
ON      m.id =
        (
        SELECT  id
        FROM    mytable mi
        WHERE   mi.name = md.name
                AND mi.type = md.type
        ORDER BY
                mi.name DESC, mi.type DESC, mi.date DESC, mi.id DESC
        LIMIT 1
        )

mytable (name, type, date, id)上创建索引以使其快速运行.

Create an index on mytable (name, type, date, id) for this to work fast.

这篇关于MySQL查询最新条目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆