I have the following dataset (there are many rows):
        NUM     POS   SKU   STORE   FOR        DATE     PRICE   QTD DEV
1   93591601    10  37350   HC01    8740    2017-01-02  76.00   1.0 0.0
2   93591701    20  37350   HC01    8740    2017-01-02  83.49   1.0 0.0
3   93592369    20  37350   HC01    8740    2017-01-04  92.90   1.0 0.0
4   93592440    20  37350   HC01    8740    2017-01-04  88.85   1.0 0.0
5   93592697    20  37350   HC01    8740    2017-01-04  78.38   1.0 0.0
What I am trying to do is to group by ('SKU', 'STORE', 'DATA'), and Aggragate the rows
- some of them using - sum,
- others calculating the - mean
- others keeping the last row of the group.
In python I can do this using this function:
df = df.groupby(['SKU', 'STORE', 'DATA']).agg({'PRICE': np.mean,
                                             'QTD':np.sum,
                                             'DEV':'last',
                                             'FOR':'last',
                                             }).reset_index()
        NUM     POS   SKU   STORE   FOR        DATE     PRICE   QTD DEV
1   93591601    10  37350   HC01    8740    2017-01-02  79.74   2.0 0.0
2   93591701    20  37350   HC01    8740    2017-01-04  86.71   3.0 0.0
How can I do this using sql ?
Supposing that the table name is DT:
SELECT 
MEAN(PRICE),
SUM(QTD)
FROM DT
GROUP BY 'SKU', 'STORE', 'DATA'
How do I get the last row value from each group ?
 
    