假设我在KBD中有一个名为“ Automotive”的表,其中包含以下数据:
Manufacturer Country Sales Id
Mercedes United States 002
Mercedes Canada 002
Mercedes Germany 003
Mercedes Switzerland 003
Mercedes Japan 004
BMW United States 002
BMW Canada 002
BMW Germany 003
BMW Switzerland 003
BMW Japan 004
我怎么会在Q中构建一个查询,这样我可以获取记录匹配United States
和Canada
不使用的OR
条款?
在SQL中,它将类似于:
SELECT Manufacturer, Country from Automotive WHERE Country IN ('United States', 'Canada')
预先感谢您帮助Q初学者!
在kdb中基本上是相同的。您编写查询的方式取决于数据类型。参见下面的示例,其中制造商是符号,国家/地区是字符串。
q)tbl:([]manufacturer:`Merc`Merc`BMW`BMW`BMW;country:("United States";"Canada";"United States";"Germany";"Japan");ID:til 5)
q)
q)tbl
manufacturer country ID
-------------------------------
Merc "United States" 0
Merc "Canada" 1
BMW "United States" 2
BMW "Germany" 3
BMW "Japan" 4
q)meta tbl
c | t f a
------------| -----
manufacturer| s
country | C
ID | j
q)select from tbl where manufacturer in `Merc`Ford
manufacturer country ID
-------------------------------
Merc "United States" 0
Merc "Canada" 1
q)
q)select from tbl where country in ("United States";"Canada")
manufacturer country ID
-------------------------------
Merc "United States" 0
Merc "Canada" 1
BMW "United States" 2
在此处查看如何使用Q-sql:https://code.kx.com/q4m3/9_Queries_q-sql/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句