首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql数据库中的优化mysql查询

mysql数据库中的优化mysql查询
EN

Stack Overflow用户
提问于 2017-06-07 05:56:26
回答 6查看 50关注 0票数 0

我想从仅属于类rows最后一行的class表中获取3个5,6 and 7数据。

现在,我正在使用3个sql查询来获取数据:

代码语言:javascript
复制
 1. SELECT * from class where class_name = '5';

 2. SELECT * from class where class_name = '6';

 3. SELECT * from class where class_name = '7';

如何使用单个sql查询来检索3行数据而不是3次sql查询?

代码语言:javascript
复制
**class table structure:**

|id | class_name | student  |
|---| -----------| ---------| 
|1  |      5     | Student A|
|2  |      6     | Student B|
|3  |      4     | Student C|
|4  |      6     | Student D|
|5  |      7     | Student E|
|6  |      5     | Student F|
|7  |      4     | Student G|
|8  |      6     | Student H|
|9  |      5     | Student I|
|10 |      6     | Student J|
|11 |      7     | Student K|
|12 |      6     | Student L|
|13 |      8     | Student M|
|14 |      6     | Student N|
|15 |      8     | Student O|

成绩要求:学生I,学生N和学生K

EN

回答 6

Stack Overflow用户

发布于 2017-06-07 06:01:05

尝尝这个

代码语言:javascript
复制
SELECT * FROM class WHERE id IN (SELECT MAX(id) FROM class WHERE class_name in (5,6,7) GROUP BY class_name );

木琴

票数 1
EN

Stack Overflow用户

发布于 2017-06-07 05:59:29

select * from (select * from class order by id desc, class_name) x group by class_name

票数 0
EN

Stack Overflow用户

发布于 2017-06-07 06:18:41

代码语言:javascript
复制
SELECT * from (SELECT * from class ORDER BY id  DESC) t WHERE class_name in (5,6,7) GROUP BY class_name ORDER BY id DESC 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44404585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档