mysql找出符合条件的记录,如何写这个SQL

mysql数据库中定义一个表,有5列分别是id,n_index,n_1,n_2,n_3,如图片中所示。查询条件是,比如用户给定一个值是“张三”,先根据n_index找到x... mysql数据库中定义一个表,有5列分别是id,n_index,n_1,n_2,n_3,如图片中所示。查询条件是,比如用户给定一个值是“张三”,先根据n_index找到x值对应的列n_x,然后看n_x的值是不是“张三”,如果是“张三”则取出这行记录数据。比如图中符合条件“张三”的记录id有[2, 7, 10]。如果用户给定值是“王五”,符合条件“王五”的记录id有[1]。如果用户给定值是“刘七”,符合条件“刘七”的记录id有[3, 4, 6, 8]。 展开
 我来答
匿名用户
2019-03-12
展开全部

如图

追问
感谢回答,这个表数据量估计会有几十万条以上,这样写是对数据表遍历1次还是3次?
追答
三次,可以看成是三个单独得sql,只是把返回结果拼成了一个结果集,
遍历太多得话,你可以通过索引来优化数据库表结构,
如果你能明确的知道 张三 对相应得n_index,就能只查相应得列就好了,多余得列不用管,这时候可以先查出n_index对应得值,再去动态拼接sql中对应得列,这样会减少无效列得遍历
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式