SQL Google 表格 QUERY 函数的语句

SQL statement for Google Sheets QUERY function

我正在尝试使用 Query 通过引用更大的 "Sheet1" 从 "Sheet2" 上的一段文本中梳理出品牌和型号。也同时查出购买的平均价格以及过去购买的数量。

在工作表 1 上;所有购买商品的参考数据库。 Col1 = 品牌,Col2 = 型号等...Col5 = 购买价格。在这里,可以在不同时间以不同价格购买具有相同品牌和型号的商品。 即

第 1 栏第 2 栏...第 5 栏

苹果 iPad3 ... 600 美元

苹果 iPad3 ... 500 美元

苹果 iPad3 ... 400 美元

Sheet2 是供应商目录的内容,Col1 是可用产品的描述。

单元格 (A5) 的示例可以读取...

"New Apple iPad3 with slightly damaged box"

B5 将 return 找到的进行搜索 "Apple".

C5 将 return 找到的模型搜索 "iPad3"

D5 会 return 在搜索数组“$500”中找到的平均价格

E5 将 return 找到的数量为“3”

我现在遇到的麻烦是,我无法让上述所有内容(制作模型和平均价格和计数)在单个查询过程中共存。

这个Query被插入到B5,它的结果填充了B5、C5、D5...

=QUERY(Sheet1!A:F,"select A,B,F where A<>'' and B<>'' and '"&B5&"' contains A and 
'"&B5&"' contains B limit 1 Label A'', B'', F''")

...将 return 制定模型价格(仅限第一个找到的实例)。我们需要的是上面的平均值和计数。

=QUERY(Sheet1!A:F,"select avg(F),count(F) where A<>'' and B<>'' and '"&A5&"' contains A 
and '"&A5&"' contains B label avg(F)'',count(F)''")

以上方法在检索平均值和计数时有效。 但是,一旦我也尝试获取品牌和型号,它就会失败...

=QUERY(Sheet1!A:F,"select A,B,avg(F),count(F) where A<>'' and B<>'' and 
'"&A5&"' contains A and '"&A5&"' contains B label A'',B'', avg(F)'',count(F)''")

非常感谢。

您需要 group 根据您聚合的维度输出。

=QUERY(Sheet1!A:F,
"select A,B,avg(F),
count(F) where A<>'' and B<>'' and '"&A5&"' contains A and '"&A5&"' contains B
group by A,B label A'',B'', avg(F)'',count(F)''"
)