【问题标题】:How to select static values column?如何选择静态值列?
【发布时间】:2013-11-20 16:16:25
【问题描述】:

当我们运行查询 SELECT 1 时,MySQL 返回一行,其中一列包含 1。 我应该如何构建查询以获取包含指定值的多行的一列?我认为它可能类似于SELECT VALUES(1,2,3) AS v?

【问题讨论】:

  • 你为什么要这么做?
  • 你有几个,还是很多很多?需要UNION 链。
  • 如果您需要大范围,我建议您创建一个临时表并使用循环插入其中。否则,只需使用 UNIONs
  • 我想用这组 ID 加入一个表。我知道 WHERE..IN,但我想准确地加入,因为它会比 WHERE..IN 更快地做出选择。它应该看起来像 JOIN 与临时表,但设置了此值而不是表。

标签: mysql select


【解决方案1】:

你必须使用密钥UNION

SELECT 1 UNION SELECT 2 ...

【讨论】:

    【解决方案2】:
    SELECT *
    FROM (
        VALUES (1,2), (3,4)
    )
    t1 (c1, c2)
    

    【讨论】:

    【解决方案3】:

    联合通常是在单个数据集中创建一组已定义值的快速方法

    SELECT 1 as Value
    UNION
    SELECT 2 as Value
    UNION
    SELECT 3 as Value
    

    如果这将有很多值,那么构建一个计数/数字表可能是一种更可取的方法。 Creating a "Numbers Table" in mysql

    【讨论】:

      猜你喜欢
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-03
      • 2014-03-12
      • 2015-03-18
      • 2014-02-10
      • 2012-07-26
      相关资源
      最近更新 更多