Mysql高级查询

DROP TABLE IF EXISTS aaa;
CREATE TABLE aaa (
id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
akey bigint(20) NOT NULL,
avalue bigint(20) NOT NULL,
time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录日期',
PRIMARY KEY(id)
)ENGINE=InnoDB CHARSET=utf8;
INSERT INTO aaa(akey,avalue,time)VALUES
(1,2,'2010-10-09 15:58:20'),
(1,2,'2010-10-09 15:58:21'),
(1,2,'2010-10-09 15:58:22'),
(2,2,'2010-10-09 15:58:20'),
(2,2,'2010-10-09 15:58:21'),
(2,1,'2010-10-09 15:58:28');
我想根据akey和avalue两个条件进行判断查询,只要满足他们两个值都相等记录的最新一条就行,
例如
(1,2,'2010-10-09 15:58:20'),
(1,2,'2010-10-09 15:58:21'),
(1,2,'2010-10-09 15:58:22'),
这三条记录都一样的,key与value都相等,我要取最新一条记录,也就是最后一条,mysql语句怎么写?

[quote]我要过滤掉所有的重复记录,没有重复记录的也要查询出来。[/quote]
什么意思 上面的就没有重复记录的了啊

mysql> select akey, avalue, max(time) from aaa where akey='1' and avalue='2';
+------+--------+---------------------+
| akey | avalue | max(time) |
+------+--------+---------------------+
| 1 | 2 | 2010-10-09 15:58:22 |
+------+--------+---------------------+
1 row in set (0.00 sec)

mysql> select akey,avalue,max(time) from aaa group by concat(akey,avalue);
+------+--------+---------------------+
| akey | avalue | max(time) |
+------+--------+---------------------+
| 1 | 2 | 2010-10-09 15:58:22 |
| 2 | 1 | 2010-10-09 15:58:28 |
| 2 | 2 | 2010-10-09 15:58:21 |
+------+--------+---------------------+
3 rows in set (0.00 sec)