举个例子,
select id,name,dateTime,rank from table1 group by rank order by id desc;
上面的语句中rank有许多重复的记录,dateTime中也有多个重复的时间
这么来说吧,一个表,值如下:
+----+-------------------------+---------------------+------+
| id | name | dateTime | rank |
+----+-------------------------+---------------------+------+
| 2 | 大地的天使 | 2006-11-03 12:42:55 | 2 |
| 8 | 口是心非 | 2006-11-03 12:42:55 | 2 |
| 9 | 白色才情·再见女郎 | 2006-11-03 12:42:55 | 2 |
| 10 | 红色热情 | 2006-11-03 12:42:55 | 2 |
| 57 | Jacky Cheung 15-Disc1 | 2006-10-26 22:49:06 | 5 |
| 58 | Jacky Cheung 15-Disc2 | 2006-10-26 22:49:05 | 5 |
| 59 | 爱与交响曲 | 2006-10-26 22:49:05 | 5 |
| 60 | 当我想起你EP | 2006-10-26 22:48:59 | 5 |
| 61 | 等你等到我心痛 | 2006-10-26 22:48:59 | 5 |
| 62 | 似曾相识 | 2006-10-26 22:48:59 | 5 |
| 63 | 我与你 | 2006-10-26 22:48:59 | 5 |
| 64 | 张学友钢琴恋曲 | 2006-10-26 22:48:59 | 5 |
| 65 | 忘不了你 | 2006-09-16 06:58:59 | 6 |
| 66 | 夏の寒風 | 2006-09-16 06:58:59 | 6 |
| 67 | 爱情陷阱 | 2006-09-16 06:58:59 | 6 |
| 68 | 暴风女神Lorelei | 2006-09-16 06:58:59 | 6 |
| 69 | THUNDER ARM | 2006-09-16 06:58:59 | 6 |
| 70 | 第一滴泪 | 2006-09-16 06:58:59 | 6 |
| 71 | ALAN TAM REMIX | 2006-09-16 06:58:59 | 6 |
| 72 | 谭咏麟梦幻柔情演唱会 | 2006-09-16 06:58:58 | 6 |
| 73 | 谭咏麟梦幻柔情演唱会(2) | 2006-09-16 06:58:58 | 6 |
| 74 | 把你藏在歌里面都为了爱 | 2006-09-16 06:58:58 | 6 |
| 75 | 首麟合唱歌 | 2006-09-16 06:58:58 | 6 |
| 76 | 神话1991 | 2006-09-16 06:58:58 | 6 |
| 77 | 谭咏麟梦幻柔情演唱会 | 2006-09-16 06:58:58 | 6 |
| 78 | 谭咏麟梦幻柔情演唱会(2) | 2006-09-16 06:58:58 | 6 |
| 79 | 神话1992 | 2006-09-16 06:58:57 | 6 |
| 80 | 你爱他吗 | 2006-10-29 12:44:31 | 7 |
| 81 | 让我愉快爱一次 | 2006-10-29 02:16:57 | 8 |
| 82 | 要不是爱上你 | 2006-11-03 12:30:50 | 9 |
+----+-------------------------+---------------------+------+
现在希望一句sql语句,得到下面这样的结果
+----+-------------------------+---------------------+------+
| id | name | dateTime | rank |
+----+-------------------------+---------------------+------+
| 10 | 红色热情 | 2006-11-03 12:42:55 | 2 |
| 57 | Jacky Cheung 15-Disc1 | 2006-10-26 22:49:06 | 5 |
| 71 | ALAN TAM REMIX | 2006-09-16 06:58:59 | 6 |
| 80 | 你爱他吗 | 2006-10-29 12:44:31 | 7 |
| 81 | 让我愉快爱一次 | 2006-10-29 02:16:57 | 8 |
| 82 | 要不是爱上你 | 2006-11-03 12:30:50 | 9 |
+----+-------------------------+---------------------+------+
也就是得到rank值只取唯一的一个,而相同的rank中取时间最新的,相同的时间中取id最后插入的select id,name,dateTime,rank from table1 group by rank order by id desc这句SQL语句只能把rank值取唯一的,但不能在相同的rank中取最新的时间,更不能在相同的时间中取最新的id值
select id,name,dateTime,rank from table1 group by rank order by id desc;
上面的语句中rank有许多重复的记录,dateTime中也有多个重复的时间
这么来说吧,一个表,值如下:
+----+-------------------------+---------------------+------+
| id | name | dateTime | rank |
+----+-------------------------+---------------------+------+
| 2 | 大地的天使 | 2006-11-03 12:42:55 | 2 |
| 8 | 口是心非 | 2006-11-03 12:42:55 | 2 |
| 9 | 白色才情·再见女郎 | 2006-11-03 12:42:55 | 2 |
| 10 | 红色热情 | 2006-11-03 12:42:55 | 2 |
| 57 | Jacky Cheung 15-Disc1 | 2006-10-26 22:49:06 | 5 |
| 58 | Jacky Cheung 15-Disc2 | 2006-10-26 22:49:05 | 5 |
| 59 | 爱与交响曲 | 2006-10-26 22:49:05 | 5 |
| 60 | 当我想起你EP | 2006-10-26 22:48:59 | 5 |
| 61 | 等你等到我心痛 | 2006-10-26 22:48:59 | 5 |
| 62 | 似曾相识 | 2006-10-26 22:48:59 | 5 |
| 63 | 我与你 | 2006-10-26 22:48:59 | 5 |
| 64 | 张学友钢琴恋曲 | 2006-10-26 22:48:59 | 5 |
| 65 | 忘不了你 | 2006-09-16 06:58:59 | 6 |
| 66 | 夏の寒風 | 2006-09-16 06:58:59 | 6 |
| 67 | 爱情陷阱 | 2006-09-16 06:58:59 | 6 |
| 68 | 暴风女神Lorelei | 2006-09-16 06:58:59 | 6 |
| 69 | THUNDER ARM | 2006-09-16 06:58:59 | 6 |
| 70 | 第一滴泪 | 2006-09-16 06:58:59 | 6 |
| 71 | ALAN TAM REMIX | 2006-09-16 06:58:59 | 6 |
| 72 | 谭咏麟梦幻柔情演唱会 | 2006-09-16 06:58:58 | 6 |
| 73 | 谭咏麟梦幻柔情演唱会(2) | 2006-09-16 06:58:58 | 6 |
| 74 | 把你藏在歌里面都为了爱 | 2006-09-16 06:58:58 | 6 |
| 75 | 首麟合唱歌 | 2006-09-16 06:58:58 | 6 |
| 76 | 神话1991 | 2006-09-16 06:58:58 | 6 |
| 77 | 谭咏麟梦幻柔情演唱会 | 2006-09-16 06:58:58 | 6 |
| 78 | 谭咏麟梦幻柔情演唱会(2) | 2006-09-16 06:58:58 | 6 |
| 79 | 神话1992 | 2006-09-16 06:58:57 | 6 |
| 80 | 你爱他吗 | 2006-10-29 12:44:31 | 7 |
| 81 | 让我愉快爱一次 | 2006-10-29 02:16:57 | 8 |
| 82 | 要不是爱上你 | 2006-11-03 12:30:50 | 9 |
+----+-------------------------+---------------------+------+
现在希望一句sql语句,得到下面这样的结果
+----+-------------------------+---------------------+------+
| id | name | dateTime | rank |
+----+-------------------------+---------------------+------+
| 10 | 红色热情 | 2006-11-03 12:42:55 | 2 |
| 57 | Jacky Cheung 15-Disc1 | 2006-10-26 22:49:06 | 5 |
| 71 | ALAN TAM REMIX | 2006-09-16 06:58:59 | 6 |
| 80 | 你爱他吗 | 2006-10-29 12:44:31 | 7 |
| 81 | 让我愉快爱一次 | 2006-10-29 02:16:57 | 8 |
| 82 | 要不是爱上你 | 2006-11-03 12:30:50 | 9 |
+----+-------------------------+---------------------+------+
也就是得到rank值只取唯一的一个,而相同的rank中取时间最新的,相同的时间中取id最后插入的select id,name,dateTime,rank from table1 group by rank order by id desc这句SQL语句只能把rank值取唯一的,但不能在相同的rank中取最新的时间,更不能在相同的时间中取最新的id值
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货