我想要得到以下结果,升级需要多长时间,看以下结果,1级到2级需要10天,2级到3级需要14天:
level     days
1           0
2           10
3           14建表
CREATE TABLE `dm_test` (
  `pid` int(11) default NULL,
  `level` int(11) default NULL,
  `result_time` datetime default NULL,
  `match_id` int(11) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;pid   ---    用户ID
level  ----  用户等级
result_time ---- 当前时间
match_id ---- 比赛ID   ,应该用不到这个ID吧数据:
insert  into `dm_test`(`pid`,`level`,`result_time`,`match_id`) values (8964,1,'2010-03-03 10:09:01',25956),(8967,1,'2010-03-03 10:09:01',25956),(8970,1,'2010-03-03 10:09:01',25956),(8971,1,'2010-03-03 10:09:01',25956),(8968,1,'2010-03-03 10:09:01',25956),(8969,1,'2010-03-03 10:09:01',25956),(8972,1,'2010-03-03 10:09:01',25956),(8976,1,'2010-03-03 10:09:01',25956),(8964,1,'2010-03-03 10:17:34',25957),(8968,1,'2010-03-03 10:17:34',25957),(8970,1,'2010-03-03 10:17:34',25957),(8971,1,'2010-03-03 10:17:34',25957),(8967,2,'2010-03-03 10:17:34',25957),(8969,2,'2010-03-03 10:17:34',25957),(8972,2,'2010-03-03 10:17:34',25957),(8976,2,'2010-03-03 10:17:34',25957),(8979,1,'2010-03-03 10:17:55',25958),(8979,2,'2010-03-03 10:21:48',25959),(8964,1,'2010-03-03 10:22:29',25960),(8968,1,'2010-03-03 10:22:29',25960),(8970,1,'2010-03-03 10:22:29',25960),(8971,1,'2010-03-03 10:22:29',25960),(8967,1,'2010-03-03 10:22:29',25960),(8969,1,'2010-03-03 10:22:29',25960),(8972,1,'2010-03-03 10:22:29',25960),(8976,1,'2010-03-03 10:22:29',25960),(8979,2,'2010-03-03 10:25:08',25961),(8979,2,'2010-03-03 10:28:37',25962),(8964,1,'2010-03-03 10:29:03',25963),(8968,1,'2010-03-03 10:29:03',25963),(8970,1,'2010-03-03 10:29:03',25963),(8971,1,'2010-03-03 10:29:03',25963),(8967,2,'2010-03-03 10:29:03',25963),(8969,2,'2010-03-03 10:29:03',25963),(8972,2,'2010-03-03 10:29:03',25963),(8976,2,'2010-03-03 10:29:03',25963),(8979,1,'2010-03-03 10:32:14',25964),(8964,1,'2010-03-03 10:34:46',25965),(8968,1,'2010-03-03 10:34:46',25965),(8970,1,'2010-03-03 10:34:46',25965),(8971,1,'2010-03-03 10:34:46',25965),(8967,2,'2010-03-03 10:34:46',25965),(8969,2,'2010-03-03 10:34:46',25965),(8972,2,'2010-03-03 10:34:46',25965),(8976,2,'2010-03-03 10:34:46',25965),(8979,2,'2010-03-03 10:39:20',25966),(8975,1,'2010-03-03 10:39:25',25967),(8974,1,'2010-03-03 10:39:45',25968),(8979,1,'2010-03-03 10:42:10',25969),(8975,1,'2010-03-03 10:44:55',25970),(8964,1,'2010-03-03 10:50:16',25971),(8967,1,'2010-03-03 10:50:16',25971),(8976,1,'2010-03-03 10:50:16',25971),(8971,1,'2010-03-03 10:50:16',25971),(8972,1,'2010-03-03 10:50:16',25971),(8983,1,'2010-03-03 10:50:16',25971),(8974,1,'2010-03-03 10:52:03',25972),(8977,2,'2010-03-03 10:55:11',25973),(8985,1,'2010-03-03 11:10:36',25974),(8969,2,'2010-03-03 11:10:36',25974),(8986,2,'2010-03-03 11:16:11',25975),(8986,2,'2010-03-03 11:17:55',25976),(8974,1,'2010-03-03 11:18:11',25977),(8974,2,'2010-03-03 11:46:05',25978),(8974,1,'2010-03-03 11:54:39',25979),(8986,2,'2010-03-03 11:56:20',25980),(9002,1,'2010-03-03 14:03:51',25981),(8997,1,'2010-03-03 14:03:51',25981),(8997,1,'2010-03-03 14:08:12',25982),(9001,1,'2010-03-03 14:08:12',25982),(9004,1,'2010-03-03 14:08:12',25982),(8993,1,'2010-03-03 14:08:12',25982),(8999,1,'2010-03-03 14:08:12',25982),(9003,1,'2010-03-03 14:08:12',25982),(8461,1,'2010-03-03 14:12:36',25983),(8993,2,'2010-03-03 14:19:59',25984),(8997,2,'2010-03-03 14:19:59',25984),(9002,2,'2010-03-03 14:19:59',25984),(8999,1,'2010-03-03 14:19:59',25984),(9003,1,'2010-03-03 14:19:59',25984),(9004,1,'2010-03-03 14:19:59',25984),(8572,2,'2010-03-03 14:36:38',25985),(8999,2,'2010-03-03 14:36:38',25985),(9001,2,'2010-03-03 14:36:38',25985),(9005,2,'2010-03-03 14:36:38',25985),(8993,1,'2010-03-03 14:36:38',25985),(9002,1,'2010-03-03 14:36:38',25985),(9003,1,'2010-03-03 14:36:38',25985),(9004,1,'2010-03-03 14:36:38',25985),(9001,1,'2010-03-03 14:50:07',25986),(9002,1,'2010-03-03 14:50:07',25986),(9003,1,'2010-03-03 14:50:07',25986),(9004,1,'2010-03-03 14:50:07',25986),(8572,1,'2010-03-03 14:50:07',25986),(8993,1,'2010-03-03 14:50:07',25986),(9005,1,'2010-03-03 14:50:07',25986),(9007,1,'2010-03-03 15:14:53',25987),(9007,1,'2010-03-03 15:15:45',25988),(8572,1,'2010-03-03 15:15:20',25989),(8999,1,'2010-03-03 15:15:20',25989),(9002,1,'2010-03-03 15:15:20',25989),(9005,1,'2010-03-03 15:15:20',25989),(8993,1,'2010-03-03 15:15:20',25989),(9003,1,'2010-03-03 15:15:20',25989),(9004,1,'2010-03-03 15:15:20',25989),(8862,1,'2010-03-03 15:40:07',25990),(8903,1,'2010-03-03 15:40:07',25990),(6688,1,'2010-03-03 16:14:12',25991),(8975,2,'2010-03-03 16:18:21',25992),(8979,1,'2010-03-03 16:18:21',25992),(8975,2,'2010-03-03 16:20:41',25993),(8979,1,'2010-03-03 16:20:41',25993),(8975,2,'2010-03-03 16:21:54',25994),(8979,1,'2010-03-03 16:21:54',25994),(8975,1,'2010-03-03 16:26:17',25995),(8921,1,'2010-03-03 16:26:17',25995),(8975,2,'2010-03-03 16:27:34',25996),(8921,1,'2010-03-03 16:27:34',25996),(9007,1,'2010-03-03 16:57:25',25997),(8904,1,'2010-03-03 17:07:08',25998),(8925,1,'2010-03-03 17:07:08',25998),(8929,1,'2010-03-03 17:07:08',25998),(8937,1,'2010-03-03 17:07:08',25998),(8905,1,'2010-03-03 17:07:08',25998),(8938,1,'2010-03-03 17:07:08',25998),(8941,1,'2010-03-03 17:07:08',25998),(8956,1,'2010-03-03 17:07:08',25998),(8904,1,'2010-03-03 17:27:16',25999),(8905,1,'2010-03-03 17:27:16',25999),(8914,1,'2010-03-03 17:27:16',25999),(8925,1,'2010-03-03 17:27:16',25999),(8903,1,'2010-03-03 17:27:16',25999),(8929,1,'2010-03-03 17:27:16',25999),(8937,1,'2010-03-03 17:27:16',25999),(8938,1,'2010-03-03 17:27:16',25999),(8904,1,'2010-03-03 17:32:14',26000),(8905,1,'2010-03-03 17:32:14',26000),(8914,1,'2010-03-03 17:32:14',26000),(8925,1,'2010-03-03 17:32:14',26000),(8903,1,'2010-03-03 17:32:14',26000),(8929,1,'2010-03-03 17:32:14',26000),(8937,1,'2010-03-03 17:32:14',26000),(8938,1,'2010-03-03 17:32:14',26000),(7747,1,'2010-03-03 18:10:54',26001),(7798,1,'2010-03-03 18:15:17',26002),(7798,1,'2010-03-03 18:27:43',26003),(7798,1,'2010-03-03 18:28:41',26004),(9007,1,'2010-03-03 19:48:11',26005),(9016,1,'2010-03-03 19:54:52',26006),(8166,1,'2010-03-03 19:54:52',26006),(9007,1,'2010-03-03 20:01:27',26007),(8474,1,'2010-03-03 20:15:45',26008),(9019,1,'2010-03-04 09:55:23',26009),(9019,2,'2010-03-04 10:02:18',26010),(9019,1,'2010-03-04 10:12:55',26011),(9019,1,'2010-03-04 10:17:28',26012),(9055,1,'2010-03-04 10:21:22',26013),(9019,2,'2010-03-04 10:24:18',26014),(9018,1,'2010-03-04 10:30:23',26015),(9024,1,'2010-03-04 10:30:23',26015),(9026,1,'2010-03-04 10:30:23',26015),(9065,1,'2010-03-04 10:30:23',26015),(9025,2,'2010-03-04 10:30:23',26015),(9036,2,'2010-03-04 10:30:23',26015),(9053,2,'2010-03-04 10:30:23',26015),(9071,2,'2010-03-04 10:30:23',26015),(9018,1,'2010-03-04 10:37:03',26016),(9024,1,'2010-03-04 10:37:03',26016),(9026,1,'2010-03-04 10:37:03',26016),(9065,1,'2010-03-04 10:37:03',26016),(9025,2,'2010-03-04 10:37:03',26016),(9036,2,'2010-03-04 10:37:03',26016),(9053,2,'2010-03-04 10:37:03',26016),(9071,2,'2010-03-04 10:37:03',26016),(9069,2,'2010-03-04 10:41:18',26017),(8904,1,'2010-03-04 10:42:56',26018),(8903,1,'2010-03-04 10:42:56',26018),(8904,1,'2010-03-04 10:45:42',26019),(8903,1,'2010-03-04 10:45:42',26019),(9069,1,'2010-03-04 10:46:20',26020),(9067,2,'2010-03-04 10:47:10',26021),(9068,1,'2010-03-04 10:47:10',26021),(9067,2,'2010-03-04 10:49:20',26022),(9068,1,'2010-03-04 10:49:20',26022),(9069,1,'2010-03-04 10:51:37',26023),(9067,2,'2010-03-04 10:51:43',26024),(9068,1,'2010-03-04 10:51:43',26024),(8955,1,'2010-03-04 10:53:39',26025),(8954,1,'2010-03-04 10:53:39',26025),(9069,1,'2010-03-04 10:57:35',26026),(9025,1,'2010-03-04 10:59:58',26027),(9026,1,'2010-03-04 10:59:58',26027),(9053,1,'2010-03-04 10:59:58',26027),(9024,2,'2010-03-04 10:59:58',26027),(9065,2,'2010-03-04 10:59:58',26027),(9074,2,'2010-03-04 10:59:58',26027),(9007,1,'2010-03-04 11:04:40',26028),(9069,1,'2010-03-04 11:05:33',26029),(9025,1,'2010-03-04 11:05:42',26030),(9026,1,'2010-03-04 11:05:42',26030),(9053,1,'2010-03-04 11:05:42',26030),(9024,2,'2010-03-04 11:05:42',26030),(9065,2,'2010-03-04 11:05:42',26030),(9074,2,'2010-03-04 11:05:42',26030),(9019,2,'2010-03-04 11:07:05',26031),(7375,1,'2010-03-04 11:10:51',26032),(9075,1,'2010-03-04 11:11:09',26033),(9036,2,'2010-03-04 11:11:09',26033),(9075,1,'2010-03-04 11:14:32',26034),(9036,1,'2010-03-04 11:14:32',26034),(9053,1,'2010-03-04 11:16:06',26035),(9074,1,'2010-03-04 11:16:06',26035),(9024,1,'2010-03-04 11:16:06',26035),(9065,1,'2010-03-04 11:16:06',26035),(9025,1,'2010-03-04 11:25:30',26036),(9026,1,'2010-03-04 11:25:30',26036),(9065,1,'2010-03-04 11:25:30',26036),(9024,1,'2010-03-04 11:25:30',26036),(9053,1,'2010-03-04 11:25:30',26036),(9074,1,'2010-03-04 11:25:30',26036),(9068,1,'2010-03-04 11:35:53',26037),(9055,1,'2010-03-04 11:35:53',26037),(9024,1,'2010-03-04 11:43:55',26038),(9026,1,'2010-03-04 11:43:55',26038),(9053,1,'2010-03-04 11:43:55',26038),(9065,1,'2010-03-04 11:43:55',26038),(9018,2,'2010-03-04 11:43:55',26038),(9025,2,'2010-03-04 11:43:55',26038),(9036,2,'2010-03-04 11:43:55',26038),(9074,2,'2010-03-04 11:43:55',26038),(9007,1,'2010-03-04 11:48:22',26039),(8914,1,'2010-03-04 11:49:55',26040),(8903,1,'2010-03-04 11:49:55',26040),(9026,2,'2010-03-04 11:56:36',26041),(9065,2,'2010-03-04 11:56:36',26041),(9068,1,'2010-03-04 12:01:53',26042),(9055,1,'2010-03-04 12:01:53',26042),(9055,1,'2010-03-04 12:03:52',26043),(9068,1,'2010-03-04 12:03:52',26043),(9075,1,'2010-03-04 13:53:15',26044),(9036,2,'2010-03-04 13:53:15',26044),(9075,1,'2010-03-04 13:56:15',26045),(9036,1,'2010-03-04 13:56:15',26045),(9075,1,'2010-03-04 13:58:53',26046),(9036,1,'2010-03-04 13:58:53',26046),(9075,1,'2010-03-04 14:01:20',26047),(9036,1,'2010-03-04 14:01:20',26047),(9068,1,'2010-03-04 14:03:18',26048),(9055,1,'2010-03-04 14:03:18',26048),(9075,1,'2010-03-04 14:03:52',26049),(9036,1,'2010-03-04 14:03:52',26049);就是这个SQL应该怎么写,谢谢。

解决方案 »

  1.   

    select level, result_time group by level
      

  2.   

    3       14是怎么来的?
    你下表中根本没有LEVEL=3的数据?这个14是如何计算出来的? mysql> select * from dm_test;
    +------+-------+---------------------+----------+
    | pid  | level | result_time         | match_id |
    +------+-------+---------------------+----------+
    | 8964 |     1 | 2010-03-03 10:09:01 |    25956 |
    | 8967 |     1 | 2010-03-03 10:09:01 |    25956 |
    | 8970 |     1 | 2010-03-03 10:09:01 |    25956 |
    | 8971 |     1 | 2010-03-03 10:09:01 |    25956 |
    | 8968 |     1 | 2010-03-03 10:09:01 |    25956 |
    | 8969 |     1 | 2010-03-03 10:09:01 |    25956 |
    | 8972 |     1 | 2010-03-03 10:09:01 |    25956 |
    | 8976 |     1 | 2010-03-03 10:09:01 |    25956 |
    | 8964 |     1 | 2010-03-03 10:17:34 |    25957 |
    | 8968 |     1 | 2010-03-03 10:17:34 |    25957 |
    | 8970 |     1 | 2010-03-03 10:17:34 |    25957 |
    .....
    | 9068 |     1 | 2010-03-04 12:03:52 |    26043 |
    | 9075 |     1 | 2010-03-04 13:53:15 |    26044 |
    | 9036 |     2 | 2010-03-04 13:53:15 |    26044 |
    | 9075 |     1 | 2010-03-04 13:56:15 |    26045 |
    | 9036 |     1 | 2010-03-04 13:56:15 |    26045 |
    | 9075 |     1 | 2010-03-04 13:58:53 |    26046 |
    | 9036 |     1 | 2010-03-04 13:58:53 |    26046 |
    | 9075 |     1 | 2010-03-04 14:01:20 |    26047 |
    | 9036 |     1 | 2010-03-04 14:01:20 |    26047 |
    | 9068 |     1 | 2010-03-04 14:03:18 |    26048 |
    | 9055 |     1 | 2010-03-04 14:03:18 |    26048 |
    | 9075 |     1 | 2010-03-04 14:03:52 |    26049 |
    | 9036 |     1 | 2010-03-04 14:03:52 |    26049 |
    +------+-------+---------------------+----------+
    251 rows in set (0.00 sec)mysql>
      

  3.   

    你是不是想要这个?select level,DATEDIFF(max(result_time),min(result_time)) 
    from dm_test
    group by level
      

  4.   

    那只是一个假设,如果有等级3的话,那就是从等级3到等级4需要14天,你这个SQL的逻辑是不是计算一个等级的最大时间和最小时间之差的,但是不需要考虑PID这个字段么?