Heim > Datenbank > MySQL-Tutorial > Hauptteil

Mysql 数据分组取某字段值所有最大的记录行_MySQL

WBOY
Freigeben: 2016-06-01 13:06:37
Original
1224 Leute haben es durchsucht

需求:

表中同一个uid(用户)拥有多条游戏等级记录,现需要取所有用户最高等级(level)的那一条数据,且时间(time)越早排越前。这是典型的排名表

+------+-------+--------------+---------------------+| uid  | level | role         | time                |+------+-------+--------------+---------------------+| 7    |     1 | 摇滚圣魔     | 2014-06-12 15:01:05 || 1134 |     4 | 唯我独尊     | 2014-06-12 15:02:38 || 1134 |     4 | 唯我独尊     | 2014-06-12 15:02:39 || 7    |     3 | 摇滚圣魔     | 2014-06-12 15:02:59 || 5    |     3 | 韵儿铃♦      | 2014-06-12 15:04:09 || 7363 |     6 | 诗荷冰月     | 2014-06-12 15:04:23 || 6684 |     4 | つ道远虚空つ | 2014-06-12 15:05:13 || 7    |    16 | 摇滚圣魔     | 2014-06-12 15:05:46 || 1    |     2 | 斗土豪       | 2014-06-12 15:05:48 || 7    |    26 | 摇滚圣魔     | 2014-06-12 15:08:36 || 6684 |     8 | つ道远虚空つ | 2014-06-12 15:08:45 || 5    |    12 | 韵儿铃♦      | 2014-06-12 15:09:47 || 6834 |     1 | 无敌追翼     | 2014-06-12 15:10:56 || 5    |    16 | 韵儿铃♦      | 2014-06-12 15:11:18 || 8719 |     1 | 君望赤       | 2014-06-12 15:11:48 || 6274 |    36 | 五月独孤     | 2014-06-12 15:12:22 || 8724 |    26 | 童童         | 2014-06-12 15:12:31 || 1134 |    32 | 唯我独尊     | 2014-06-12 15:12:51 || 7    |    26 | 摇滚圣魔     | 2014-06-12 15:13:38 || 5    |    25 | 韵儿铃♦      | 2014-06-12 15:14:48 || 7757 |     3 | つ清灵旋つ   | 2014-06-12 15:16:50 || 7    |    26 | 摇滚圣魔     | 2014-06-12 15:17:26 || 5    |    28 | 韵儿铃♦      | 2014-06-12 15:18:08 || 7757 |    23 | つ清灵旋つ   | 2014-06-12 15:19:29 || 6274 |    43 | 五月独孤     | 2014-06-12 15:19:54 || 8724 |    30 | 童童         | 2014-06-12 15:20:39 || 7757 |    26 | つ清灵旋つ   | 2014-06-12 15:20:58 || 8707 |    36 | 就是干       | 2014-06-12 15:22:28 || 7757 |    29 | つ清灵旋つ   | 2014-06-12 15:23:05 || 7757 |    32 | つ清灵旋つ   | 2014-06-12 15:24:57 || 8726 |    10 | 连曦         | 2014-06-12 15:26:01 || 7363 |    34 | 诗荷冰月     | 2014-06-12 15:26:58 || 7    |    26 | 摇滚圣魔     | 2014-06-12 15:27:33 || 5    |    37 | 韵儿铃♦      | 2014-06-12 15:27:37 || 8347 |     1 | 无敌         | 2014-06-12 15:28:09 || 6274 |    47 | 五月独孤     | 2014-06-12 15:28:13 || 1    |    32 | 斗土豪       | 2014-06-12 15:29:18 || 1134 |    46 | 唯我独尊     | 2014-06-12 15:30:52 || 7757 |    41 | つ清灵旋つ   | 2014-06-12 15:30:56 || 9    |    34 | 饭饭饭饭の   | 2014-06-12 15:31:03 || 6274 |    48 | 五月独孤     | 2014-06-12 15:31:18 || 8724 |    41 | 童童         | 2014-06-12 15:32:30 || 7757 |    42 | つ清灵旋つ   | 2014-06-12 15:34:24 || 1134 |    48 | 唯我独尊     | 2014-06-12 15:34:56 || 1100 |     2 | 圣魔霄       | 2014-06-12 15:35:54 || 1008 |    21 | ∵嘟嘟冰儿∵ | 2014-06-12 15:36:10 || 7757 |    45 | つ清灵旋つ   | 2014-06-12 15:40:49 || 3088 |     4 | 战魂凌空    | 2014-06-12 15:41:38 || 5    |    41 | 韵儿铃♦      | 2014-06-12 15:41:56 || 7757 |    46 | つ清灵旋つ   | 2014-06-12 15:43:24 |
Nach dem Login kopieren

 

实现过程:

1.首先对该数据进行2次排序,uid 排序以及等级的降序排序

2.对排序后的结果用uid进行分组,分组后等级降序排序,时间升序排序

 

实现SQL:

 

select * from (select a.uid,a.level,a.role,a.time from 数据表 a where order BY a.uid desc,a.level desc) as 别名 group by user_uid order by level desc,time asc limit 30;
Nach dem Login kopieren
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!