当前位置: 代码迷 >> Sql Server >> 依照时间段来统计每家门店每月的单号总数
  详细解决方案

依照时间段来统计每家门店每月的单号总数

热度:82   发布时间:2016-04-24 09:21:53.0
按照时间段来统计每家门店每月的单号总数
本帖最后由 szlixiaolong 于 2015-03-09 10:07:20 编辑
销售明细表如下:
门店名称        单号                                            时间
A门店          030214030100014                     2014-03-01 10:04:54:376
B门店         040214030200014                     2014-03-02 10:04:54:376
C门店         050214030300014                      2014-03-03 10:04:54:376
A门店         030214040100015                      2014-04-01 10:04:54:376
B门店         040214040200015                     2014-04-02 10:04:54:376
C门店         050214040300015                    2014-04-03 10:04:54:376
A门店          030214030100015                     2014-03-01 10:05:54:376
B门店         040214030200015                     2014-03-02 10:05:54:376
C门店         050214030300015                      2014-03-03 10:05:54:376
A门店         030214040100016                     2014-04-01 10:05:54:376
B门店         040214040200016                     2014-04-02 10:05:54:376
C门店         050214040300016                    2014-04-03 10:05:54:376
A门店         030215040100016                     2015-04-01 10:05:54:376
B门店         040215040200016                     2015-04-02 10:05:54:376
C门店         050215040300016                    2015-04-03 10:05:54:376

最终需要实现的数据统计如下:
门店名称      2014年3月份单号总计       2014年4月份单号总计     2015年4月份单号总计
A门店           2                                               2                                                               1
B门店            2                                               2                                                               1
C门店            2                                                2                                                            1




------解决思路----------------------
我没明白你同单什么意思,你试下这种方式COUNT DISTINCT
SELECT 门店名称
,COUNT(DISTINCT CASE WHEN CONVERT(VARCHAR(6),时间,112)='201403'THEN 单号 END)[2014年3月份单号总计]
,COUNT(DISTINCT CASE WHEN CONVERT(VARCHAR(6),时间,112)='201404'THEN 单号 END)[2014年4月份单号总计]
,COUNT(DISTINCT CASE WHEN CONVERT(VARCHAR(6),时间,112)='201504'THEN 单号 END)[2015年4月份单号总计]
FROM 销售明细表 GROUP BY 门店名称
  相关解决方案