SQLite 删除 group by 中的联系

标签 sql r sqlite sqldf

我预计以下内容会产生超过 3 行,因为每个 a.[Species] 中都有 min(a.[Sepal.Width]) 的关系, 但是只返回 3 行:

sqldf(' select a.[Species], min( a.[Petal.Width]) from iris a group by a.[Species] ')
     Species min( a.[Petal.Width])
1     setosa                   0.1
2 versicolor                   1.0
3  virginica                   1.4
  • 1:这是 SQLite 的正常行为吗?

  • 2:如何设计一个选择字符串来返回联系? (最好尽可能接近原始搜索字符串)

编辑:我现在发现我的困惑源于习惯使用 SAS proc sql,它将返回所有匹配的行。我现在了解到,这确实是 SAS proc SQL 所特有的,而不是其他 SQL 版本所期望的。与我有同样 SAS 引起的困惑的人将从这个阐明此 SAS 行为的答案中受益:https://stackoverflow.com/a/25539916/1831980

最佳答案

这就是我要做的:

sqldf::sqldf('SELECT b.[Species], b.[Petal.Width] FROM iris b JOIN
             (SELECT [Species], MIN( [Petal.Width]) AS [Petal.Width] 
              FROM iris GROUP BY [Species]) a 
             USING ([Species],[Petal.Width])')

关于SQLite 删除 group by 中的联系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42401983/

相关文章:

sql - 插入组合(值和选择)

r - 使用带有 xml2 的管道运算符编写 XML

r - 如何在 R Markdown 中突出显示内联 R 代码?

r - kernlab 中 rbfKernel 的方程与标准不同?

ruby-on-rails - 如何正确使用belongs_to和has_many?

sql - 在 MS Access 中是否有创建动态的、基于表单的查询的首选方法?

sql - 如何在有限的、任意排序的记录集中找到单个记录的*位置*?

sql - oracle sql查询中返回的限制字符数

javascript - Jquery从sqlite数据库获取西类牙口音时显示�符号

java - 如何从树中的任何父节点获取所有叶节点