我可以在MATLAB中对内存数据集(或cellarray或结构等)进行SQL样式查询吗?
为什么我会问,有时候,当我想对1000行数据中的每一行执行不同的操作时,我不想与数据库通信1000次。相反,我宁愿从数据库中读取所有1000个并在MATLAB中对它们进行操作。
例如,我从数据库中读到以下内容:
age first_name last_name income
30 Mike Smith 45
17 David Oxgon 17
22 Osama Lumbermaster 3
现在我想找出25岁以下人的全名。我知道怎么做,但有没有像这样的SQL干净和直观的语法?
SELECT first_name + ' ' + last_name AS name FROM people WHERE age < income
答案 0 :(得分:1)
在文档页面Access Data in a Table中(请参阅示例Index Using a Logical Expression),它表明您的示例可以通过以下方式实现:
MyTable({'first_name','last_name'}, MyTable.age < MyTable.income)
这些文档没有具体解释如何将名称和姓氏合并为一个变量,但我确信这很容易。试一试,如果你知道的话,请告诉我们。