- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个看起来等同于此的数据结构
UserID| Rating | CreatedDate |
------+--------+-------------+
101 | 10 | 21-02-2018 |
101 | 10 | 18-02-2018 |
102 | 6 | 12-01-2018 |
103 | 3 | 01-02-2018 |
101 | 8 | 25-03-2018 |
102 | 2 | 21-02-2017 |
101 | 1 | 21-08-2017 |
我正在尝试从 SQL Server 2017 中检索特定用户给出的所有不同评分 (1-10) 的计数。
我正在使用这段代码:
SELECT Rating, COUNT(Rating) AS Count
FROM dbo.tableName
GROUP BY Rating, UserId
HAVING (COUNT(Rating) >= 1) AND (UserId = '101')
ORDER BY Count DESC
但是我遇到的问题是,我希望只对过去 5 周内创建的条目运行此查询,以过滤到我以前使用的最后 5 周:
(CreatedDateTime > DATEADD(week, - 5, GETDATE())) AND (Recommend IS NOT NULL)
但是当与 Count
混合使用时,它就不再起作用了。我得到一个错误
CreatedDateTime is invalid in the having clause because it is not contained in either aggregate function or group by clause
谁能帮我得到正确的语法?
最佳答案
我认为你的条件应该在 WHERE
子句中:
SELECT
Rating,
COUNT(Rating) AS Count
FROM dbo.tableName
WHERE
CreatedDateTime > DATEADD(week, - 5, GETDATE()) AND
Recommend IS NOT NULL
GROUP BY
Rating,
UserId
HAVING
COUNT(Rating) >= 1 AND UserId = '101'
ORDER BY
Count DESC
这应该仅限于最近五周内发生的记录,以及那些 Recommend
不为 NULL 的记录。
您收到错误的原因是,在评估 HAVING
子句时,数据库正在处理记录的聚合。由于 CreatedDateTime
字段不是聚合,因此导致错误。
关于SQL 服务器 : count duplicates and filter by date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49532891/
我有一个内部表,里面有 108 个条目。从 9 到 9 个条目重复条目,我想删除这些重复项。由于它们完全相同,我使用了 delete adjacent duplicates from itab com
在 Team Foundation Server (TFS) 中链接两个工作项 (WI) 时,在什么情况下将“Duplicate”和“Duplicate Of”区分为“链接类型”是有意义的? 如何处理
ld: duplicate symbol _velocityX in \ /Users/Student/Library/Developer/Xcode/DerivedData/finalproject
我使用 PHP 和 Mysql。 此 SQL 有效: INSERT INTO products (id, title, description) VALUES (10, 'va
我有一个大数据框 (120000x40),我尝试在每一行中找到重复项并显示它们。这就是我的尝试: 创建数据框 import pandas as pd df = pd.DataFrame({'col1'
我是 mySQL 和 PHP 的新手,请多多包涵。 如果我的查询有重复字段,我该如何做到这一点,检索到的数据将具有重复查询字段的重复数据。 一个例子是这样的: 查询 id = 34, 54, 21,
我一直遇到这个错误,但我无法理解它,因为它提示一个值恰好出现一次。 Exception in thread "main" java.lang.IllegalStateException: Duplic
我有一个带有 Vuejs 和 Laravel 的 Web 应用程序 我想使用 CKEditor 5 我安装了依赖项 npm install --save @ckeditor/ckeditor5-vue
我有一个包含以下数据的 csv 文件: Id,Name,Type,date 1,name1,employee,25/04/2017 2,name2,contrator,26/04/2017 3,nam
import CKEditor from '@ckeditor/ckeditor5-react'; import ClassicEditor from '@ckeditor/ckeditor5-bui
表定义: CREATE TABLE PositionalDataNGS ( Date DATE, Time TIME(3) , X FLOAT(5), Y FLOAT(5), D FLOAT(5) ,
我目前正在做一个项目,我要处理数以千计的数据包。现在,我记录每个数据包的 IP 和 MAC 地址以及一些其他信息。为了存储所有这些,我使用 MySQL 并且我的脚本是用 Node.js 编写的。目前我
I am using MySQL 5.1.56, MyISAM. My table looks like this:我使用的是MySQL 5.1.56,MyISAM。我的桌子是这样的: CR
我是新来的,对 SQL 比较陌生。我有一个类似这样的表: [Pk], [Case_No], [Status], [Open_Date], [Close_Date], [Case_Age], [Repo
为什么会收到此警告? warning No duplicate props allowed react/jsx-no-duplicate-props# 它显示的是第28行,但没有使用 Prop 。 最
是否有任何函数或方法可以在 python 2.7 中递归实现此目的? Input : ['and', ['or', 'P', '-R', 'P'], ['or', '-Q', '-R', 'P']]
我正在分析 hadoop 中的数据。有一些重复条目,其中 A、B 列重复,而 C 列不同。我想要做的是仅识别 A、B 重复项,然后为每个重复项打印出 C 列的不同值。 示例数据: row, data
您好,感谢阅读并可能对我有所帮助 我的问题的简要说明: 我正在将数据从一个 Firebird 数据库复制到另一个(称为 V14),并且我正在使用 IBExpert 来执行此操作。这些表的名称相同并且具
我想制作一张很像下面的图片: 我想使用 seaborn 使图表看起来漂亮,并让我自己以后更容易使用 facetgrids(我有十个不同的数据集,我想在同一个图表中显示。) 我在 seaborn 中找到
我在两列“user_id”和“project_id”上有一个复合唯一键。 当我尝试对单行或多行运行 DELETE 查询时,出现错误。 ERROR 1062: 1062: Duplicate entry
我是一名优秀的程序员,十分优秀!