运行 dplyr, grepl 在 MySQL
Running dplyr, grepl in MySQL
我在 SQL 中有一个 table,我正在测试 dplyr
。
我有两个输入,一个日期范围和一个公司文本字段
我运行下面的R代码
# Filter on the Customer and the date range the user selects
mydf <- db %>%
tbl(table) %>%
filter(TableDate >= start_date & TableDate <= end_date) %>%
filter(grepl('company', company_name)) %>%
collect()
所以理论上这应该 select 来自 start_date
和 end_date
公司 company
like a fuzzy match 之间的单个 table 的信息作为公司名称包含 X industries 和 Y incorporated
我收到如下错误
Error in .local(conn, statement, ...) :
could not run statement: execute command denied to user 'shiny'@'%' for routine 'mydb.GREPL'
当我看到 sql
myDF <- tbl(db,table)
myDF1 <- filter(myDF, TableDate >= start_date & TableDate <= end_date)
myDF2 <- filter(myDF1, grepl('company', company_name))
explain(myDF2)
我得到了输出
<SQL>
SELECT *
FROM (SELECT *
FROM `table`
WHERE (`TableDate ` >= '2015-01-01' AND `TableDate ` <= '2015-06-01')) `lpknlorhcn`
WHERE (GREPL('company', `company_name`))
Error in .local(conn, statement, ...) :
could not run statement: execute command denied to user 'shiny'@'%' for routine 'mydb.GREPL'
出于隐私原因,我对代码和输出进行了一些修改
问题
有谁知道如何正确设置它(我知道它是 mysql 方面的权限问题,但我不确定用户 shiny 在何处具有执行权限
为什么解释计划中的SQL看起来很有趣(例如它有两个where子句)什么是lpknlorhcn
感谢您的帮助
MySQL 不支持 grepl()
。您可以使用 %like%
或先收集数据,然后使用 grepl()
.
有关更多信息和示例,请参阅 。
我在 SQL 中有一个 table,我正在测试 dplyr
。
我有两个输入,一个日期范围和一个公司文本字段
我运行下面的R代码
# Filter on the Customer and the date range the user selects
mydf <- db %>%
tbl(table) %>%
filter(TableDate >= start_date & TableDate <= end_date) %>%
filter(grepl('company', company_name)) %>%
collect()
所以理论上这应该 select 来自 start_date
和 end_date
公司 company
like a fuzzy match 之间的单个 table 的信息作为公司名称包含 X industries 和 Y incorporated
我收到如下错误
Error in .local(conn, statement, ...) : could not run statement: execute command denied to user 'shiny'@'%' for routine 'mydb.GREPL'
当我看到 sql
myDF <- tbl(db,table)
myDF1 <- filter(myDF, TableDate >= start_date & TableDate <= end_date)
myDF2 <- filter(myDF1, grepl('company', company_name))
explain(myDF2)
我得到了输出
<SQL>
SELECT *
FROM (SELECT *
FROM `table`
WHERE (`TableDate ` >= '2015-01-01' AND `TableDate ` <= '2015-06-01')) `lpknlorhcn`
WHERE (GREPL('company', `company_name`))
Error in .local(conn, statement, ...) : could not run statement: execute command denied to user 'shiny'@'%' for routine 'mydb.GREPL'
出于隐私原因,我对代码和输出进行了一些修改
问题
有谁知道如何正确设置它(我知道它是 mysql 方面的权限问题,但我不确定用户 shiny 在何处具有执行权限
为什么解释计划中的SQL看起来很有趣(例如它有两个where子句)什么是
lpknlorhcn
感谢您的帮助
MySQL 不支持 grepl()
。您可以使用 %like%
或先收集数据,然后使用 grepl()
.
有关更多信息和示例,请参阅