56,677
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE `test` (
`Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增字段',
`orderid` varchar(32) DEFAULT NULL COMMENT '订单号',
`uid` smallint(6) DEFAULT NULL COMMENT '订单用户UID',
`money` decimal(10,2) unsigned DEFAULT NULL COMMENT '订单金额',
`dateline` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '订单完成时间戳',
PRIMARY KEY (`Id`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
INSERT INTO `test` VALUES (1,'9581fc1156b6cc24',1,6,1312459705);
INSERT INTO `test` VALUES (2,'a65a60abe8bc2a63',2,23,1312462748);
INSERT INTO `test` VALUES (3,'a19bedcf22ee3aad',1,15,1312476597);
INSERT INTO `test` VALUES (4,'a5cf44b4985f8a57',2,9,1312537818);
INSERT INTO `test` VALUES (5,'6a8ed9409f5a9673',4,14,1312615274);
INSERT INTO `test` VALUES (6,'4fd8a33f35c4dd4d',1,19,1312581043);
INSERT INTO `test` VALUES (7,'1de9ef6bc4f39555',3,29,1312606256);
INSERT INTO `test` VALUES (8,'e5beacd54cd7df99',4,12,1312559431);
INSERT INTO `test` VALUES (9,'a639da6dce717a1c',3,10,1312618895);
INSERT INTO `test` VALUES (10,'616a8a4249c0a7cb',2,18,1312622509);
mysql> select * from test;
+----+------------------+------+-------+------------+
| Id | orderid | uid | money | dateline |
+----+------------------+------+-------+------------+
| 1 | 9581fc1156b6cc24 | 1 | 6.00 | 1312459705 |
| 2 | a65a60abe8bc2a63 | 2 | 23.00 | 1312462748 |
| 3 | a19bedcf22ee3aad | 1 | 15.00 | 1312476597 |
| 4 | a5cf44b4985f8a57 | 2 | 9.00 | 1312537818 |
| 5 | 6a8ed9409f5a9673 | 4 | 14.00 | 1312615274 |
| 6 | 4fd8a33f35c4dd4d | 1 | 19.00 | 1312581043 |
| 7 | 1de9ef6bc4f39555 | 3 | 29.00 | 1312606256 |
| 8 | e5beacd54cd7df99 | 4 | 12.00 | 1312559431 |
| 9 | a639da6dce717a1c | 3 | 10.00 | 1312618895 |
| 10 | 616a8a4249c0a7cb | 2 | 18.00 | 1312622509 |
+----+------------------+------+-------+------------+
--首次-------------------------------------------------------
mysql> select *
-> from test t
-> where not exists(select 1 from test where t.uid=uid and t.Id>Id);
+----+------------------+------+-------+------------+
| Id | orderid | uid | money | dateline |
+----+------------------+------+-------+------------+
| 1 | 9581fc1156b6cc24 | 1 | 6.00 | 1312459705 |
| 2 | a65a60abe8bc2a63 | 2 | 23.00 | 1312462748 |
| 5 | 6a8ed9409f5a9673 | 4 | 14.00 | 1312615274 |
| 7 | 1de9ef6bc4f39555 | 3 | 29.00 | 1312606256 |
+----+------------------+------+-------+------------+
4 rows in set (0.00 sec)
---最近一次-------------------------------------------------------
mysql> select *
-> from test t
-> where not exists(select 1 from test where t.uid=uid and t.Id<Id);
+----+------------------+------+-------+------------+
| Id | orderid | uid | money | dateline |
+----+------------------+------+-------+------------+
| 6 | 4fd8a33f35c4dd4d | 1 | 19.00 | 1312581043 |
| 8 | e5beacd54cd7df99 | 4 | 12.00 | 1312559431 |
| 9 | a639da6dce717a1c | 3 | 10.00 | 1312618895 |
| 10 | 616a8a4249c0a7cb | 2 | 18.00 | 1312622509 |
+----+------------------+------+-------+------------+
4 rows in set (0.00 sec)
select *
from tb A
where not exits (select 1 from tb A.uid=uid and A.id>id)