问个面试题目

卡卡的喵 2019-03-30 06:05:59
数据结构如下
id n1 n2
1 1 a
2 1 b
3 2 a
4 2 b
5 2 c
6 3 a
7 3 b
8 3 c
9 3 d

要查询n2类型为a或者b的n1的值,但只能返回完全满足的情况,也就是说表中n1为2对应的数据虽然他的n2有a,b,c三条数据,但这算不满足。表里只有n1为1的数据才算满足。这种sql语句怎么写啊?
...全文
268 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
每一步都算数 2019-04-02
  • 打赏
  • 举报
回复

-- 上面写漏一种情况

SELECT 
    n1
FROM
    (SELECT 
        n1, GROUP_CONCAT(n2) AS 'n2'
    FROM
        test
    GROUP BY n1) a
WHERE
    n2 = 'a' OR n2 = 'b' OR n2 = 'a,b' OR n2 = 'b,a';
每一步都算数 2019-04-02
  • 打赏
  • 举报
回复

SELECT 
    n1
FROM
    (SELECT 
        n1, GROUP_CONCAT(n2) AS 'n2'
    FROM
        test
    GROUP BY n1) a
WHERE
    n2 = 'a' OR n2 = 'b' OR n2 = 'a,b';
wangjunqi8811 2019-04-02
  • 打赏
  • 举报
回复
这个要看情况, 如果要查询的字段n2在表中存在索引,使用or,in都可以,效率上没有太大却别 select id,n1 from test2 where n2 in('a','b') and n1=1; 或者: select id,n1 from test2 where (n2 ='a' or n2='b') and n1=1; 如果数据量比较大,且不存在索引,建议使用in操作。具体差距参考了连接:http://blog.chinaunix.net/uid-20639775-id-3416737.html
刘蕘 2019-03-30
  • 打赏
  • 举报
回复
select id, n1
from test2 
where (n2 = 'a' or n2 = 'b') and n1 = 1;
括号打错了。。
刘蕘 2019-03-30
  • 打赏
  • 举报
回复
select id, n1
from test2
where n2 = ('a' or n2 = 'b') and n1 = 1;
内容概要:本文详细介绍了一个基于C++语言开发的疫苗接种和儿童体检系统的设计与实现全过程,涵盖项背景、标意义、架构设计、核心功能模块、数据库实现、API接口规范、前后端代码实现及部署应用等多个方面。系统采用分层架构与模块化设计,实现了儿童信息管理、疫苗接种记录、体检数据录入、多用户权限控制、数据统计分析、异常预警、安全加密与日志审计等核心功能,并通过MySQL数据库进行数据持久化,结合Qt实现图形化界面,支持高并发、数据脱敏、多平台对接与自动化部署。项强调数据安全、隐私保护与系统可扩展性,适用于社区医疗、疾控中心、学校及医院等场景。; 适合人群:具备C++编程基础,熟悉数据库操作和基本软件工程流程的开发人员、计算机及相关专业学生、医疗信息化项开发者,以及希望了解完整医疗管理系统开发流程的技术人员。; 使用场景及标:①学习如何使用C++构建完整的医疗信息管理系统;②掌握数据库设计、前后端交互、权限控制、多线程处理和GUI开发等关键技术;③应用于社区卫生服务、学校健康管理、疾控数据统计等实际业务场景,提升儿童健康管理水平;④作为课程设计、毕业设计或实际项的参考模板。; 阅读建议:建议读者结合文档中的代码示例与数据库脚本,搭建本地开发环境进行实践操作,重点关注系统架构设计、模块解耦、安全机制与前后端交互逻辑,深入理解各功能模块的实现原理,并尝试在此基础上进行功能扩展,如接入移动端或增加AI分析模块。

57,063

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧