- Goal
同一グループ内の一番上のレコードだけをSQLで抜き出す。
例えば、売上明細から品番別の最も売上件数が多かった年月を抜き出す。
アウトプットは、<品番>、<最も売上が上がった年月>、<その年月の売上件数> - How
1. 月別に売上件数をサマリー
2. ROW_NUMBER()で、一番売上件数が多かった月に'1'をセット
3. ROW_NUMBER()が'1'だけを抜き出す
- SourceThis file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
SELECT * FROM ( select a.* , ROW_NUMBER() OVER(PARTITION BY ITEM ORDER BY COUNT DESC, YYYYMM DESC) FLAG from ( select <ITEM> ITEM , to_char(<SALESDATE>,'YYYYMM') YYYYMM , count(1) COUNT from <SALES> group by <ITEM> , to_char(<SALESDATE>,'YYYYMM') ) a ) WHERE FLAG = 1 ;
Oracle Application Express Notes | Apps development Notes | Google Cloud Platform | Python | apps test | Cool Beans | English | Books
2016/07/09
同一グループ内の1件目を抜き出す SQL
登録:
投稿 (Atom)