我有一张这样的table
Queries Query Cat. Item Name Item Cat. Item Sold Stock Avail.
iPhone 6 Mobile Phone iPhone 6 Mobile Phone 20 10
iPhone 6 Mobile Phone iPhone 6 XS Mobile Phone 10 20
iPhone 6 Mobile Phone iPhone 6 S Mobile Phone 5 20
iPhone 6 Phone Accessories iPhone 6 S Case Phone Accessories 200 100
iPhone 6 Phone Accessories iPhone 6 Earphone Earphone 150 200
iPhone 6 Phone Accessories iPhone 6 Charger Phone Wall Charger 100 250
iPhone 6 Mobile Phone iPhone 6 S Plus Mobile Phone 15 15
我想要一张如下的table:
我想计算在特定关键字(不完全匹配)下包含查询关键字的项目数。在excel中使用countifs(item\u name,“(query name)”,array\u item\u cat,query\u cat)
我想在包含特定关键字(不完全匹配)下的查询关键字的项目下合计销售的项目。在excel中使用sumifs(array\u item\u sell,item\u name,“(query name)”,array\u item\u cat,query\u cat)
我想在包含特定关键字(不完全匹配)下的查询关键字的项目下合计剩余可用库存。在excel中使用sumifs(array\u stock\u avail,item\u name,“(query name)”,array\u item\u cat,query\u cat)
这是我想要的table:
Queries Query Cat. Item Count Total Item Sold Total Stock
iPhone 6 Mobile Phone 4 50 65
iPhone 6 Phone Accessories 1 200 100
我用这个查询:
And I was using this queries:
SELECT queries_keyword
,COUNT(CASE WHEN item_name LIKE queries_keyword AND item_cat = query_cat THEN 1 END) AS count_item_queries
,SUM(CASE WHEN item_name LIKE queries_keyword AND item_cat = query_cat THEN item_sold END) AS Total Item Sold
,SUM(CASE WHEN item_name LIKE queries_keyword AND item_cat = query_cat THEN stock_available END) AS Total Stock
FROM my_table
GROUP BY queries_keyword
我使用了like,这样它不仅可以显示完全匹配的simple like,而且like需要使用通配符“%%”来处理任何包含查询逻辑的项名称,like函数与in或“-”中的函数相同,因为我没有使用通配符。
另一方面,我没有使用通配符,因为有数以百万计的数据查询和数以百万计的项,所以我希望它能为我自动计数和求和,而不是我必须使用通配符“%”逐个输入它。
有谁能帮我提出更好更准确的问题吗?我对使用sql很陌生,请原谅我:(
1条答案
按热度按时间5m1hhzi41#
你的逻辑有点难以理解。但你的结果表明你在寻找这样的东西:
这个逻辑可能就是你想要描述的。