【发布时间】:2015-08-26 19:55:53
【问题描述】:
我需要选择过去 12 个月。正如您在图片中看到的,May 出现了两次。 但我只希望它发生一次。它必须是最新的。 另外,表格应该保持这种结构,最近的月份在底部。
这是查询:
SELECT Monat2,
Monat,
CASE WHEN NPLAY_IND = '4P'
THEN 'QuadruplePlay'
WHEN NPLAY_IND = '3P'
THEN 'TriplePlay'
WHEN NPLAY_IND = '2P'
THEN 'DoublePlay'
WHEN NPLAY_IND = '1P'
THEN 'SinglePlay'
END AS Series,
Anzahl as Cnt
FROM T_Play_n
where NPLAY_IND != '0P'
order by Series asc ,Monat
这是新的查询
SELECT sub.Monat2,sub.Monat,
CASE WHEN NPLAY_IND = '4P'
THEN 'QuadruplePlay'
WHEN NPLAY_IND = '3P'
THEN 'TriplePlay'
WHEN NPLAY_IND = '2P'
THEN 'DoublePlay'
WHEN NPLAY_IND = '1P'
THEN 'SinglePlay'
END
AS Series, Anzahl as Cnt FROM (SELECT ROW_NUMBER () OVER (PARTITION BY Monat2 ORDER BY Monat DESC)rn,
Monat2,
Monat,
Anzahl,
NPLAY_IND
FROM T_Play_n)sub
where sub.rn = 1
它只显示月份一次,但它不会对每个系列都显示。 所以每次播放都应该有 12 个月。
【问题讨论】:
-
'distinct' 或 'group by' 怎么样
-
您当前的查询会有所帮助
-
你使用哪些 rdbms?
-
为什么一个月存储两次? (作为 May 和第 2 栏的 05 部分。)
-
@GiorgiNakeuri 我正在使用 SQL Server Management Studio
标签: sql sql-server select