【问题标题】:Is there a command in MySQL equivalent to the "do repeat" command in SPSS?MySQL 中是否有与 SPSS 中的“do repeat”命令等效的命令?
【发布时间】:2020-10-21 13:56:13
【问题描述】:

我必须为许多列编写基本相同的CASE WHEN-statement,比如 price_1 到 price_30。不必复制粘贴所有 30 列的语句,有没有办法使用与 SPSS 中的“重复”命令等效的东西?

例如我需要写:

price_1=CASE WHEN price_1 < 30 THEN NULL ELSE price_1 END,
price_2=CASE WHEN price_2 < 30 THEN NULL ELSE price_2 END,
..
price_30=CASE WHEN price_30 < 30 THEN NULL ELSE price_30 END.

但是想在 MySQL 中写这样的东西:

price_1-price_30=CASE WHEN price_

我曾尝试在线搜索,但似乎只能找到随时间发生更新的循环命令?

感谢我能得到的任何帮助!

【问题讨论】:

  • 请提供样本数据、所需结果和适当的数据库标签。将 描述性 语言(如 SQL)与过程语言(如 SPSS)进行比较通常不是很有帮助。
  • 您是指变量(如在程序代码中)还是实际上是指表中的?如果它是表中的列,那么 price_1 到 price_30 通常表示应该规范化的不良数据模型,并且价格应该存储在行中,而不是列中
  • 对不起,我的意思是表格中的列。 price_1 是一列,price_2 是一列等等。也许这是一个糟糕的数据模型,但我无法更改。

标签: mysql sql spss case-when


【解决方案1】:

您的问题有点不清楚,也许(如果使用 MYSQL)您正在寻找 REPEAT() 函数?如果是这样,这里有一个例子:

SELECT REPEAT("customerName", 3);

【讨论】:

  • 您好,感谢您的回复。我试图编辑原始帖子以使其更加清晰。我认为在您的示例中,客户的名称将重复三次?我想要一个命令,我不必连续多次编写相同的 CASE WHEN 命令,只需编辑变量的名称,而是一个包含所有变量的单个 CASE WHEN 命令。我对 SQL 很陌生,所以不知道如何用正确的方式来表达它!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-10
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-13
相关资源
最近更新 更多