成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

mysql 分組

elisa.yang / 2016人閱讀

摘要:表結(jié)構(gòu)和數(shù)據(jù)查詢分組最大記錄默認(rèn)取分組第一條分組前條記錄

表結(jié)構(gòu)和數(shù)據(jù)
create table cat(  
    id(1) int not null auto_increment primary key,  
    cat_id int(1),  
    value int(1),  
    name varchar(20)  
);  
insert into cat (cat_id,name,value) values ("1","name1", "1");  
insert into cat (cat_id,name,value) values ("1","name2", "2");  
insert into cat (cat_id,name,value) values ("1","name3", "3");  
insert into cat (cat_id,name,value) values ("1","name4", "4");  
insert into cat (cat_id,name,value) values ("2","name5", "5");  
insert into cat (cat_id,name,value) values ("2","name6", "6");  
insert into cat (cat_id,name,value) values ("2","name7", "7");   
insert into cat (cat_id,name,value) values ("2","name8", "8");  
insert into cat (cat_id,name,value) values ("3","name9", "9");  
insert into cat (cat_id,name,value) values ("3","name10","10");  
insert into cat (cat_id,name,value) values ("3","name11","11");  
insert into cat (cat_id,name,value) values ("3","name12","12"); 
mysql> select *from cat;
+----+--------+-------+--------+
| id | cat_id | value | name   |
+----+--------+-------+--------+
|  1 |      1 |     1 | name1  |
|  2 |      1 |     2 | name2  |
|  3 |      1 |     3 | name3  |
|  4 |      1 |     4 | name4  |
|  5 |      2 |     5 | name5  |
|  6 |      2 |     6 | name6  |
|  7 |      2 |     7 | name7  |
|  8 |      2 |     8 | name8  |
|  9 |      3 |     9 | name9  |
| 10 |      3 |    10 | name10 |
| 11 |      3 |    11 | name11 |
| 12 |      3 |    12 | name12 |
+----+--------+-------+--------+
12 rows in set (0.13 sec) 
查詢分組最大記錄
// 默認(rèn)取分組第一條
mysql> select *from cat group by cat_id order by cat_id;
+----+--------+-------+-------+
| id | cat_id | value | name  |
+----+--------+-------+-------+
|  1 |      1 |     1 | name1 |
|  5 |      2 |     5 | name5 |
|  9 |      3 |     9 | name9 |
+----+--------+-------+-------+
3 rows in set (0.00 sec)
mysql> select *from (select *from cat order by value desc) a group by cat_id;
+----+--------+-------+--------+
| id | cat_id | value | name   |
+----+--------+-------+--------+
|  4 |      1 |     4 | name4  |
|  8 |      2 |     8 | name8  |
| 12 |      3 |    12 | name12 |
+----+--------+-------+--------+
3 rows in set (0.06 sec)
mysql> select a.* from cat a where value = (select max(value) from cat where cat
_id = a.cat_id) order by a.cat_id;
mysql> select a.* from cat a,(select cat_id,max(value) value from cat group by cat_id) b where a.cat_id = b.cat_id and a.value = b.value order by a.cat_id; 
mysql> select a.* from cat a inner join (select cat_id, max(value) value from cat group by cat_id) b on a.cat_id= b.cat_id and a.value= b.value order by a.cat_id;
+----+--------+-------+--------+
| id | cat_id | value | name   |
+----+--------+-------+--------+
|  4 |      1 |     4 | name4  |
|  8 |      2 |     8 | name8  |
| 12 |      3 |    12 | name12 |
+----+--------+-------+--------+
3 rows in set (0.00 sec)
分組前 3 條記錄
mysql> select a.* from cat a where exists (select count(*) from cat where cat_id= a.cat_id and value > a.value having Count(*) < 3) order by a.cat_id,a.value desc;
mysql> select *from cat a where (select count(*) from cat b where a.cat_id=b.cat_id and b.value>a.value) < 3 order by a.cat_id,a.value desc;

+----+--------+-------+--------+
| id | cat_id | value | name   |
+----+--------+-------+--------+
|  4 |      1 |     4 | name4  |
|  3 |      1 |     3 | name3  |
|  2 |      1 |     2 | name2  |
|  8 |      2 |     8 | name8  |
|  7 |      2 |     7 | name7  |
|  6 |      2 |     6 | name6  |
| 12 |      3 |    12 | name12 |
| 11 |      3 |    11 | name11 |
| 10 |      3 |    10 | name10 |
+----+--------+-------+--------+
9 rows in set (0.15 sec)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25550.html

相關(guān)文章

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<