【问题标题】:MySQL showing corresponding value in second column based on conditionMySQL根据条件在第二列中显示相应的值
【发布时间】:2017-12-04 11:26:03
【问题描述】:

我有以下结构的数据表:

    CallNumber  | Duration
    1112            30
    1112            null
    1112            null
    1119            10
    1175            null
    1132            59
    1175            190

我希望选择查询的结果为:

    CallNumber  | Duration
    1112            30
    1112            30
    1112            30
    1119            10
    1175            190
    1132            59
    1175            190

我用的是MySQL数据库,不知道怎么实现上面的结果。

【问题讨论】:

  • 您似乎希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的编码人员编写代码,但他们通常只有在发布者已经尝试自己解决问题时才会提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出以及您实际获得的输出(控制台输出、回溯等)。您提供的详细信息越多,您可能收到的答案就越多。检查FAQHow to Ask
  • 如果有重复的密钥会怎样?
  • 您能告诉我们为什么您希望1112 出现多次吗?为什么不只是一次?
  • 这些空行是什么意思?他们为什么在那里?它们代表什么?为什么你希望你的输出假装它们实际上具有相同呼叫号码的另一行中显示的值?这些数据似乎没有多大意义。你不想排除空行吗?另外,到目前为止,您研究和尝试了什么?这里甚至没有任何基本的 SQL 尝试?

标签: c# mysql asp.net


【解决方案1】:

可以使用sql代码:

select 
  t.CallNumber,
  if (Duration is null, (select Duration from test  where t.CallNumber = CallNumber and Duration is not null limit 1), Duration) as Duration 
from 
  test t  

【讨论】:

  • 最好对建议的代码进行解释
猜你喜欢
  • 2017-10-19
  • 1970-01-01
  • 1970-01-01
  • 2021-04-19
  • 1970-01-01
  • 2020-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多