问题标签 [monetdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 通过在 sql (monetdb) 中分组从年度表中更改聚合
我的数据由许多工人(例如 a file2006
,file2007
)的年表组成,包括。雇主 ID 和公司 ID。我还通过一些计算(如下)对集团公司进行了查看,这些计算groups
似乎完成得很好,所以没有显示出来。但是,我想我有查询通过使用下面的代码通过这些分组来计算每家公司从 2006 年到 2007 年的总工资账单的变化。与先前视图的快速计算不同,这会使系统长时间停滞,并最终因一些有关映射问题的错误消息而中断。那么这样做的正确方法是什么?
sql - CASE WHEN 中的 SQL 子查询是为查询运行一次,还是为每一行运行一次?
基本上,下面的代码是否有效(如果我不能在 MonetDB 中使用 @ 变量),或者这是否会多次调用子查询?
我也不想使用用户定义的函数,尽管这出现在其他问题中。
sql - 计算满足条件的子样本的聚合比率
我有loneink
每个个人 ID ( ) 的 2007年年收入 ( ) personlopnr
,我想计算每个公司 ID ( peorglopnr
) 支付给 1980 年之后出生的工人(出生年份为fodelsear
)的总工资账单的总额。但是,下面的代码会生成一share
列,绝大多数情况下为 0,其余情况下为 1。(需要说明的是,WHERE loneink > 0
下面的代码只产生 1——没有那个条件的零回归,并且有一个NULLIF
来确保我永远不会被零除。)虽然有很多公司没有年轻工人,但显然情况并非如此所有其他公司都是年轻的。
这里有什么问题?这不是产生“年轻工资”变量的方法,其中年长工人的收入为零,所以总和只适用于年轻人?或者理论上这是可以的,但我CASE WHEN
错了?或者SUM
/SUM
行为不端GROUP BY
?
有什么更好的方法来做到这一点?
我的实际用例是在 MonetDB 中,所以希望我们可以只坚持 SQL:2003 解决方案,没有 mySQL 或 Oracle 扩展。
monetdb - MonetDB 中的 OID
有没有办法使用 SQL 查询 MonetDB 中的OID ?也就是说,我想做一些类似的事情
和
我查看了文档和源示例,但没有提到查询 OID 或者即使 OID 可以在 MonetDB/SQL 中访问。
multi-tenant - MonetDB 多租户?
我正在评估 MonetDB 的多租户 OLAP 解决方案。我知道在 MonetDb 中有一个类似于 mysql 的模式概念,但它在模式方面真的是可扩展的。我可以放置合理数量的模式,并且需要所有执行几乎相同或多个 monetdb 服务器实例的模式吗?
它在索引数量方面是否可扩展?因为在多租户环境中,我们的索引数量也会随着租户数量的增加而增加。
我已经四处寻找,但无法得到满意的答案。
r - MonetDB.R 批量插入
有没有办法使用 MonetDB.R 进行批量插入(而不是通过 for 循环和 dbSendUpdate)?
dbWriteTable 是否允许更新(append=TRUE)?
关于“INSERT INTO”,MonetDB 文档指出:“好处很明显:这非常简单。但是,在 MonetDB 中,这是一种非常低效的处理方式。”
谢谢。
r - MonetDB 不接受来自 dbWriteTable (csvdump = T) 的 BOOLEAN
将布尔数据附加到现有表时,我得到以下信息。
> dbWriteTable(conn,“myTable”,myData,覆盖 = F,追加 = T,csvdump = T)
.local(conn, statement, ...) 中的错误:无法执行语句'COPY 1292 RECORDS INTO myTable FROM'C:\Path\to\AppData\Local\Temp\Rtmp80mc5L\file3e24401f42a.cs...'。
服务器说 '!value 'TRUE' from line 1 field 20 not inserted, Expecting type boolean'。
我采用了一些处理此问题的连接器代码:
> tmp <- tempfile(fileext = ".csv")
> write.table(myData, tmp, sep = ",", quote = TRUE,row.names = FALSE, col.names = FALSE,na="")
> 温度
[1] "C:\Path\to\AppData\Local\Temp\Rtmp80mc5L\file3e24401f42a.csv"
将 TRUE 更改为 1 并将 FALSE 更改为 0 并运行以下 SQL 代码时:
将 1292 条记录复制到 myTable 从 'C:\Path\to\AppData\Local\Temp\Rtmp80mc5L\file3e24401f42a.csv' 使用分隔符 ',','\n','"' NULL AS '' LOCKED;
然后插入所有数据。
r - 无法使用 Monetdb.R 连接到本地数据库
我正在尝试使用 Monetdb.R 设置与数据库的本地连接,但由于某种原因它无法正常工作。我在 Windows 7 中使用最新版本的 monetdb(MonetDB5 64 位“Jan2014-SP3”,2014-07-25 版本)。
这是一个简短的可重现示例:
我还没有看到其他用户发生此错误...
sql - 启动数据库...在 MonetDB 中失败
在 MonetDB 中创建数据库后,我尝试启动数据库,但出现此错误:
正在启动数据库 'sf1'... FAILED start: starting 'sf1' failed: database 'sf1' 似乎在启动后自行关闭,请检查 monetdbd 的日志文件以获取可能的提示
你有什么主意吗?