如果列具有多个不同值,则 SQL 过滤器查询

健身房代码

我有一个查询,返回Date UsernameDownload Count用户如果下载次数超过2

SELECT CONVERT(DATE, [datetime]) 'Date', 
       actionby                  AS 'Username', 
       Count(*)                  'Download Count' 
FROM   [dbo].[log] 
WHERE  actiontaken = 'Download' 
       AND type = 'Document' 
       AND CONVERT(DATE, [datetime]) BETWEEN 
           CONVERT(DATE, 
           '" + scanStartDate.ToString("yyyy-MM-dd HH:mm:ss.fff") + "') 
           AND 
CONVERT(DATE, '" + scanEndDate.ToString("yyyy-MM-dd HH:mm:ss.fff") + "') 
GROUP  BY CONVERT(DATE, [datetime]), 
          actionby 
HAVING Count(*) > 1 
ORDER  BY Count(*) DESC

下面是返回的表

+------------+----------+----------------+
|    Date    | Username | Download Count |
+------------+----------+----------------+
| 01/01/2018 | Jane     |              3 |
+------------+----------+----------------+

Jane 做了3次下载。

但其中 2 个是同一个文件(由 标识fileNumber)。

如何更改我的查询,使其不会fileNumber在该日期添加任何重复下载

例如,Jane 下载了file1一次,file2两次。Download Count将计数2而不是3.

谢谢


编辑:实施@salman-a 的回答后:

SELECT CONVERT(DATE, [datetime])  'Date', 
       actionby                   'Username', 
       COUNT(DISTINCT filenumber) 'Download Count' 
FROM   [dbo].[log] 
WHERE  actiontaken = 'Download' 
       AND type = 'Document' 
       AND CONVERT(DATE, [datetime]) BETWEEN 
           CONVERT(DATE, 
           '" + scanStartDate.ToString("yyyy-MM-dd HH:mm:ss.fff") + "') 
           AND 
CONVERT(DATE, '" + scanEndDate.ToString("yyyy-MM-dd HH:mm:ss.fff") + "') 
GROUP  BY CONVERT(DATE, [datetime]), 
          actionby
HAVING COUNT(DISTINCT filenumber) > 1 
ORDER  BY COUNT(DISTINCT filenumber) DESC

如果我误解了,请告诉我。谢谢你。

萨尔曼

使用COUNT(DISTINCT fileNumber)在所有的三个地方。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

两列的SQL查询过滤器

来自分类Dev

SQL 查询 - 不同类型的过滤器

来自分类Dev

如何编写带有“除非”的SQL查询过滤器?

来自分类Dev

SQL查询:每个列值都是基于临时表上不同过滤器的夸张

来自分类Dev

SQL查询返回匹配任何或所有过滤器但不超过过滤器的行

来自分类Dev

MS SQL-具有动态过滤器的静态SQL查询

来自分类Dev

编写SQL查询,使用过滤器将一列分为两列

来自分类Dev

SQL的多个通配符/过滤器

来自分类Dev

复杂的SQL查询过滤器

来自分类Dev

SQL查询过滤器,计数是否

来自分类Dev

SQL过滤器的列组合

来自分类Dev

SQL-3列过滤器

来自分类Dev

SQL 在外部查询中添加一个过滤器以应用于所有子查询

来自分类Dev

多个过滤器与OR或ndb查询

来自分类Dev

Firebase 多列过滤器查询

来自分类Dev

基于条件的不同列的 SQL 过滤器

来自分类Dev

尝试查询具有多个过滤器的表

来自分类Dev

具有高级过滤器的SQL复制数据

来自分类Dev

在Nullable int上过滤器崩溃但直接查询没有崩溃的地方?Linq2SQL

来自分类Dev

SQL列值为空,搜索过滤器错误

来自分类Dev

SQL列值为空,搜索过滤器错误

来自分类Dev

Solr对多个过滤器查询与一个过滤器查询的性能差异

来自分类Dev

查询SQL表以根据另一列中的过滤器获取一列中的所有新值

来自分类Dev

如何基于多个“或”过滤器过滤查询

来自分类Dev

T-SQL CASE语句返回不同的过滤器

来自分类Dev

SQL 在不同的过滤器中插入附加字段

来自分类Dev

ElasticSearch 5.1 带有多重过滤器的过滤查询

来自分类Dev

多个“ LIKE @filter +'%'”过滤器上的SQL Server索引

来自分类Dev

JOIN ON与WHERE中的Oracle SQL查询过滤器

Related 相关文章

热门标签

归档