【问题标题】:SQL in Google spreadsheets, selecting multiple values of a columnGoogle电子表格中的SQL,选择一列的多个值
【发布时间】:2018-01-22 14:32:39
【问题描述】:

我有一个名为 Purchases 的 Google 表格表,其中包含用于购买不同项目的不同列。第一列称为状态,它包含以下值:

Research, Approval, Purchasing, Shipping, Invoicing, Complete.

我想编写一条 SQL 语句来检索所有未完成的订单,但我想对它们进行排序,以便所有研究订单排在第一位,审批排在第二位,采购排在第三位,依此类推。

我目前的公式是:

=QUERY(Purchases;SELECT * WHERE A <> 'Completo';1)

这会检索正确的项目,但它们是混合的,而不是我想要的顺序。有人可以帮助我做得比这更好吗?非常感谢!

【问题讨论】:

    标签: mysql sql google-sheets google-query-language


    【解决方案1】:

    您需要根据列表中的值进行自定义排序。

    假设您的数据在 A:B 范围内:

    =QUERY({arrayformula( VLOOKUP(A:A, {{"Research";"Approval";"Purchasing";"Shipping";"Invoicing"},{1;2;3;4;5}},2,)), A:B}, "SELECT Col2, Col3 WHERE Col2 <> 'Complete' and Col2 <> '' order by Col1",1)

    注意事项:

    • {{"Research";"Approval";"Purchasing";"Shipping";"Invoicing"},{1;2;3;4;5}} 是用于排序的值列表,您可以改用范围。
    • A:B 更改为您的Purchases 范围
    • 需要在查询中使用Col1 表示法,因为源数据将是一个数组,而不是范围。
    • 我们按 Col1 排序。此列包含数字,因此排序是合法的。
    • 您可以使用select *,但它会返回带有数字的列:

    【讨论】:

      猜你喜欢
      • 2014-06-15
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      相关资源
      最近更新 更多