簡體   English   中英

SQL-GROUP BY無法與DateName一起使用

[英]SQL - GROUP BY not working with DateName

我正在嘗試提取某件事在一周中的每一天發生了多少次。 這是我嘗試過的:

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
    • 賽事2
      • 星期一-11
      • 星期四-6
  • 來源2
    • 賽事1
      • 星期一...等

編輯:添加行數據

OurDB:

  • 來源,事件,TranDate,數量
  • 電話,優惠券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
SELECT Source , Event, max(Qty) --or min of qty
,DateName(WEEKDAY,( TranDate )) As DayOfWk
FROM OurDB
GROUP BY Source, Event, DateName(WEEKDAY,( TranDate ))

您的查詢沒有aggregate函數。 從預期結果看,您似乎必須在“數量”列上使用aggregate函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM