0
select 
  source_of_data,
  convert(varchar(10),a.DATECREATED,101),
  COUNT(*)
from some_table a
group by
  source_of_data, 
  convert(varchar(10),a.DATECREATED,101)
order by 
  source_of_data,
  convert(varchar(10),a.DATECREATED,101)

输出数据如下所示:

mainframe 4/5/11  22
mainframe 4/6/11  45
mainframe n/n/nn  nn
sqlserver 4/5/11  44
sqlserver 4/6/11  67
sqlserver n/n/nn  nn

但我希望输出看起来像这样:

mainframe 4/5/11  22
sqlserver 4/5/11  44
mainframe 4/6/11  45
sqlserver 4/6/11  67
mainframe n/n/nn  nn
sqlserver n/n/nn  nn

通过这种方式,我可以轻松地直观地验证是否缺少任何特定日期的分组条目——比如有一天我们获得了大型机数据,但缺少 sqlserver 数据。有人可以帮助修改查询,这样我就不必求助于编写存储过程来实现我的目标吗?

4

2 回答 2

0

如果我理解正确,只需将您的订单切换为

convert(Date, a.DATECREATED,101), source_of_data

那么你的结果应该像你描述的那样出来

编辑:将其转换为 varchar,它不会按预期工作。将其转换为 DATE 类型。

于 2012-07-18T17:47:36.907 回答
0

试试这个

  select 
      source_of_data,
      convert(varchar(10),a.DATECREATED,101),
      COUNT(*)
    from some_table a
    group by
      source_of_data, 
      convert(varchar(10),a.DATECREATED,101)
    order by 
     COUNT(*)
于 2012-07-31T13:13:46.727 回答