首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当多个时间列时mySQL的情况

当多个时间列时mySQL的情况
EN

Stack Overflow用户
提问于 2014-02-04 04:36:48
回答 1查看 97关注 0票数 0

我有一张13栏的桌子。

身份证,

职称,keyword1,keyword2,keyword3,jobtitle2,keyword12,keyword22,keyword23,jobtitle3,keyword13,keyword23,keyword33。

我正在努力实现以下目标。当职称得到一个特定的值(例如程序员)时,我想要keyword1、keyword2和keyword3的值。

当jobtitle2得到一个特定的值(例如程序员)时,我想要keyword12、keyword22和keyword23的值。

当jobtitle3得到一个特定的值(例如程序员)时,我想要keyword13、keyword23和keyword33的值。

所有三个、两个或仅仅一个职位都有价值。

我得到了以下mySQL查询

代码语言:javascript
运行
AI代码解释
复制
    SELECT distinct CASE
          WHEN jobtitle = "Programmer" THEN keyword1
          WHEN jobtitle = "Programmer" THEN keyword2
          WHEN jobtitle = "Programmer" THEN keyword3

       END as col_1,
       CASE
          WHEN jobtitle2 = "Programmer" THEN keyword12
          WHEN jobtitle2 = "Programmer" THEN keyword22
          WHEN jobtitle2 = "Programmer" THEN keyword32

       END as col_2,
       CASE
          WHEN jobtitle3 = "Programmer" THEN keyword13
          WHEN jobtitle3 = "Programmer" THEN keyword23
          WHEN jobtitle3 = "Programmer" THEN keyword33

       END as col_3

  FROM tbl_keywords

据我所知。就像当jobtitle=“程序员”然后keyword1,keyword2,keyword3不被允许一样,因为只接受一个返回值。

我只是问自己,我的工作是否周而复始,看我上面的问题是否接近“最佳实践”?如果没有,你怎么解决这个问题。

这个查询实际上是有效的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-04 05:40:21

您的查询没有任何意义--当您重复同一条件三次时,您也可以在一个条件下进行查询。在我看来,这是一个糟糕的桌子设计。您最好将数据拆分成不同的表或行,但是我们需要查看整个表,以便更好地了解如何帮助您。

也许您可以通过使用嵌套的mysql ()函数来做任何您真正想做的事情,但是正如我所说的,我认为查询不是您的主要问题。

代码语言:javascript
运行
AI代码解释
复制
SELECT distinct IF(jobtitle = "Programmer",keyword1,IF(jobtitle2 = "Programmer",keyword12, ... ))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21552784

复制
相关文章
用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
全栈程序员站长
2022/07/09
1.8K0
关于mysql给列加索引这个列值中有null的情况
在需求中由于要批量查数据,且表中数据量挺大(2300万条记录) 且查询条件的这两个字段没有加索引,为了增加查询速度,现在需要去为这两个字段添加索引。 刚开始加索引想到的问题:
袁新栋-jeff.yuan
2020/08/26
4.4K0
MySQL 表中非主键列溢出情况监控
今天,又掉坑了。 之前踩到过MySQL主键溢出的情况,通过prometheus监控起来了,具体见这篇MySQL主键溢出复盘
保持热爱奔赴山海
2020/04/12
2.1K0
nginx重写url】之 当项目有多个入口文件时
但当我们的php项目有多个入口文件时,(假如有index.php, admin.php, app.php, api.php 四个入口文件),在不处理的状态下,url会呈现出这般景象:
PM吃瓜
2019/08/13
1.9K0
mysql列的处理
示例:ALTER TABLE tb_financial MODIFY CREATE_TIME DATETIME(3) DEFAULT NULL COMMENT '录入时间';
hankleo
2020/09/16
4K0
【黄啊码】MySQL入门—5、数据库小技巧:单个列group by就会,多个列呢?
好了,先来解答上节课留下的问题:【注:由于周末临时用了别的电脑,所以数据会有所不同】
黄啊码
2022/07/18
1.4K0
【黄啊码】MySQL入门—5、数据库小技巧:单个列group by就会,多个列呢?
【黄啊码】MySQL入门—5、数据库小技巧:单个列group by就会,多个列呢?
我来总结一下吧:简而言之就是这里边user_id不是聚合列,在功能上也不是groug by所需要的字段。
黄啊码
2022/09/08
1.2K0
【黄啊码】MySQL入门—5、数据库小技巧:单个列group by就会,多个列呢?
Jquery如何删除table里面checkbox选中的多个行与多个列
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
4.3K0
Mysql中的列类型
支持的范围是1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
Tony He
2022/11/17
6.6K0
当AI泡沫破裂时……
很显然我们目前处于一个不稳定的状态。这到底是一场泡沫还是一次革命?答案是当然包含一点革命——深度神经架构所创造的实实在在的成功已经颠覆了视觉和语音识别领域,更通用的机器学习也已经有了大量真实世界用例。
刀刀老高
2018/07/24
3600
当AI泡沫破裂时……
很显然我们目前处于一个不稳定的状态。这到底是一场泡沫还是一次革命?答案是当然包含一点革命——深度神经架构所创造的实实在在的成功已经颠覆了视觉和语音识别领域,更通用的机器学习也已经有了大量真实世界用例。
机器之心
2018/07/26
3790
mysql 索引无效的情况
下面几种情况下,索引是不会被使用的 (1)组合索引,查询时的条件列不是组合索引中的第一个列 例如 组合索引 (a,b),查询中使用了b作为查询条件,这时是不会用到索引的,如果用a作为查询条件,则会使用索引 (2)like查询中关键字前面带有‘%’ 例如 a字段为索引,使用like查询,where a like '%xxx',这时就不会使用索引 where a like 'xxx%',这时则会使用索引 而在大量模糊查询中经常会用到 '%xxx%' 这个形式,所以建议少使用like,而使用支持中文的全文检索技术
dys
2018/04/02
2K0
mysql sum函数中对两字段做运算时有null时的情况
在针对一些数据进行统计汇总的时候,有时会对表中的某些字段进行逻辑运算,如加减乘除,如果要求和的话还可能会用到sum函数,如果两者结合起来应该怎么处理,如果参与运算的字段中出现null值的时候会出现一些什么情况。
翎野君
2023/05/12
1K0
mysql sum函数中对两字段做运算时有null时的情况
mysql语句根据一个或多个列对结果集进行分组
接下来我们使用 GROUP BY 语句 将数据表按名字进行分组,并统计每个人有多少条记录:
用户4988376
2021/07/16
3.6K0
Mysql修改时区(时间差8小时)
time_zone         用来设置每个连接会话的时区,默认为system时,使用全局参数system_time_zone的值。
鱼找水需要时间
2023/02/16
2.1K0
Mysql修改时区(时间差8小时)
MySQL保存时间时居然四舍五入了
插入时间是2021-06-03T20:26:42.715,到数据库后进位得到2021-06-03 20:26:43
十毛
2021/06/17
1.5K0
MySQL 列操作记录
在 MySQL 中,你可以使用多种命令和语句来执行列操作,包括添加、修改、删除列等。以下是一些与列操作相关的常用 MySQL 命令和语句:
孟斯特
2023/10/19
2180
MySQL 列操作记录
解决使用@Scheduled创建任务时无法在同一时间执行多个任务的BUG
如果没有指定TaskScheduler则会创建一个单线程的默认调度器。因此问题就清楚了,需要自己创建一个TaskScheduler。
JQ实验室
2022/02/10
1.8K0
MySQL - 当LIMIT 进行分页时,为什么出现了重复数据
说在前面 数据库分页是后台经常要使用的技术手段,有时候进行数据库查询会根据业务需要对某一字段排序,那么当待排序字段值相同时,我们得到的查询结果会是什么呢?
双面人
2019/08/25
4.5K0
点击加载更多

相似问题

多个MySQL日期时间列

12

当行为空时mysql返回多个0列

10

时间从句中多个条件的MySQL情况

21

当多个其他列为true时,创建mysql sum列

11

Mysql -当尝试更新时间戳列时。它无法更新

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文