1

我的表包含以下值:
[quote_date],[total_time],[supA_demB],[demA_supB],[demB_supA],[supB_demA]

我想运行这样的查询:

SELECT quote_date
  ,min(demA_supB) as MinDemASupB
  ,max(demA_supB) as MaxDemASupB
  ,min(supA_demB) as MinSupADemB
  ,max(supA_demB) as MaxSupADemB
  ,min(demB_supA) as MinDemBSupA
  ,max(demB_supA) as MaxDemBSupA
  ,min(supB_demA) as MinSupBDemA
  ,max(supB_demA) as MaxSupBDemA
  FROM [dbo].[a_b_RatioTable]
  GROUP BY quote_date

有没有办法将 total_time 值添加到此查询中的每个混合/最大值?
喜欢:

SELECT quote_date
  ,min(demA_supB) as MinDemASupB
  ,something as MinDemASupBTime
  ,max(demA_supB) as MaxDemASupB
  ,something as MinDemASupBTime...
4

2 回答 2

1

尝试这个,

SELECT quote_date
  ,min(demA_supB) as MinDemASupB
  ,(select total_time from [dbo].[a_b_RatioTable] where quote_date = r.quote_date and demA_supB = min(r.demA_supB)) MinDemASupBTotal
  ,max(demA_supB) as MaxDemASupB
  ,(select total_time from [dbo].[a_b_RatioTable] where quote_date = r.quote_date and demA_supB = max(r.demA_supB)) MaxDemASupBTotal
  ,min(supA_demB) as MinSupADemB
  ,(select total_time from [dbo].[a_b_RatioTable] where quote_date = r.quote_date and supA_demB = min(r.supA_demB)) MinSupADemBTotal
  ,max(supA_demB) as MaxSupADemB
  ,(select total_time from [dbo].[a_b_RatioTable] where quote_date = r.quote_date and supA_demB = max(r.supA_demB)) MaxSupADemBTotal
  ,min(demB_supA) as MinDemBSupA
  .......
  ,max(demB_supA) as MaxDemBSupA
  ,min(supB_demA) as MinSupBDemA
  ,max(supB_demA) as MaxSupBDemA
  FROM [dbo].[a_b_RatioTable] r
  GROUP BY quote_date

注意:子查询可能会降低性能。

于 2013-03-04T03:36:34.113 回答
0

只需添加另一列作为 total_time。它会正常工作。

,min(demA_supB) as MinDemASupB
,max(demA_supB) as MaxDemASupB
,min(supA_demB) as MinSupADemB
,max(supA_demB) as MaxSupADemB
,min(demB_supA) as MinDemBSupA
,max(demB_supA) as MaxDemBSupA
,min(supB_demA) as MinSupBDemA
,max(supB_demA) as MaxSupBDemA
,total_time
于 2013-03-03T09:08:41.507 回答