gpt4 book ai didi

mysql - sqldf 查询返回 0 个值

转载 作者:行者123 更新时间:2023-11-29 20:55:06 25 4
gpt4 key购买 nike

我在示例数据集上运行基本查询时遇到问题(下面的链接) http://kbcdn.tableausoftware.com/data/Superstore.xls使用 R。

我在下面附上了我的代码。

#read file with XLConnect
path <- file.path("/Users/petergensler/Desktop/Sample - Superstore Sales.xls")
superstore <- readWorksheetFromFile(path, sheet= "Orders")


#Query
test <- sqldf("SELECT * FROM superstore WHERE 'Product Sub-Category' = 'Appliances'",)
test

查询执行正常,但返回以下结果:

[1] Row.ID               Order.ID             Order.Date           Order.Priority       Order.Quantity       Sales               
[7] Discount Ship.Mode Profit Unit.Price Shipping.Cost Customer.Name
[13] Province Region Customer.Segment Product.Category Product.Sub.Category Product.Name
[19] Product.Container Product.Base.Margin Ship.Date
<0 rows> (or 0-length row.names)

我附加的包是否有问题导致查询运行错误,或者是我的数据有问题?我查询的列似乎没问题,因为它是类型字符,并且指定文字字符串应该与值匹配(除非它们尾随空格),对吗?

我正在 Mac OS X 10.11.5 上运行 R,并具有以下 session 信息:

session_info() Session info ------------------------------------------------------------------------------------------- setting value
version R version 3.3.0 (2016-05-03) system x86_64, darwin13.4.0
ui RStudio (0.99.896)
language (EN)
collate en_US.UTF-8
tz America/Chicago
date 2016-06-08

我还附上了当前 session 中附加的包。

https://drive.google.com/open?id=0Bxhxg_yftHNubEc4NUZTUVoxa0E

感谢您的帮助!

最佳答案

按照 G. Grothndieck 的说法(使用括号表示列名),我运行了这个,它对我有用:

#Query
test <- sqldf(x = "SELECT * FROM superstore WHERE [Product.Sub.Category] = 'Appliances'")
test

大多数读取数据框的方法都会将列名称中的空格和连字符更改为 .,因此您需要更新这部分。

关于mysql - sqldf 查询返回 0 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37705564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com