假设我有3组记录
key1 start_date1 start_date2 start_date3
701 08-SEP-2009 08-DEC-2009 08-jan-2010
701 08-JUN-2013 08-SEP-2013 08-DEC-2013
701 08-MAR-2017 08-MAR-2018 31-DEC-1899
所以我需要计算更改日期大于14-apr-2011
即对于特定键701
,日期计数更改为5
即。对于3组行,大于14-Apr-2011
的日期为5个计数
我需要获得一个包含两个字段的表输出
Key1 changedcount
701 5
请帮助我这个..我试着这个超过2天:(
答案 0 :(得分:0)
您可以尝试以下内容:
SELECT SUM(nb)
FROM (SELECT COUNT(*) nb FROM your_table WHERE start_date1 > '14-Apr-2011'
UNION ALL
SELECT COUNT(*) nb FROM your_table WHERE start_date2 > '14-Apr-2011'
UNION ALL
SELECT COUNT(*) nb FROM your_table WHERE start_date3 > '14-Apr-2011')
答案 1 :(得分:0)
SELECT
key1,
COUNT(CASE WHEN start_date1 > '14-Apr-2011' THEN 1 ELSE NULL END) +
COUNT(CASE WHEN start_date2 > '14-Apr-2011' THEN 1 ELSE NULL END) +
COUNT(CASE WHEN start_date3 > '14-Apr-2011' THEN 1 ELSE NULL END) AS changedcount
GROUP BY key1
FROM atable