首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过不使用DateName进行SQL - GROUP

通过不使用DateName进行SQL - GROUP
EN

Stack Overflow用户
提问于 2015-09-19 22:45:07
回答 1查看 290关注 0票数 0

我试着提取一周中一天发生多少次特定的事情。以下是我尝试过的:

代码语言:javascript
运行
复制
SELECT Source , Event, Qty, DateName(WEEKDAY,( TranDate )) As DayOfWk
FROM OurDB
GROUP BY Source, Event, DateName(WEEKDAY,( TranDate )), Qty

但是它不是按Source分组(它只有两个可能的值)。如果我取出DateName函数,那么所有的东西都会正确地分组。基本上我想得到:

  • 源1
    • 事件1
      • 星期一-15日
      • 星期二-12日

代码语言:javascript
运行
复制
- Event 2  
    - Monday - 11
    - Thursday - 6 

  • 源2
    • 事件1
      • 星期一...etc

编辑:添加行数据

OurDB:

  • 源,事件,TranDate,Qty
  • 电话,优惠券1,7/2/15,6
  • 互联网,优惠券4,8/2/15,2
  • 互联网,优惠券1,6/1/15,5
  • 互联网,优惠券1,6/8/15,4
  • 电话,优惠券2,8/2/15,4
  • 电话,优惠券1,7/3/15,10
  • 互联网,优惠券1,6/5/15,3

期望产出:

  • 互联网,优惠券1,星期一,9日
  • 互联网,优惠券1,星期五,3
  • 互联网,优惠券4,星期日,2
  • 电话,优惠券1,星期四,6日
  • 电话,优惠券1,星期五,10
  • 电话,优惠券2,星期日,4
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-19 22:47:49

代码语言:javascript
运行
复制
SELECT Source , Event, max(Qty) --or min of qty
,DateName(WEEKDAY,( TranDate )) As DayOfWk
FROM OurDB
GROUP BY Source, Event, DateName(WEEKDAY,( TranDate ))

您的查询没有aggregate函数。从预期的结果来看,您似乎必须在Qty列上使用aggregate函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32673937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档