public List<Map<TableArticle, Integer>> getBestSellers(Connection conn) {
    	
    	String sql = "select id_article, sum(qty_contains) as qty_sold "
    			+ "from article natural join cart_contains_article "
    			+ "where ( "
    				+ "select date_checkout "
    				+ "from cart where cart.id_cart = cart_contains_article.id_cart "
    			+ ") >= DATE_SUB( NOW(), INTERVAL 7 DAY ) "
    			+ "group by id_article "
    			+ "order by qty_sold desc ;";
        
        PreparedStatement pstm = preparedStatementWrapper(conn, sql);
        ResultSet rset = queryWrapper(pstm);
        
        List<Map<TableArticle, Integer>> result = new ArrayList<Map<TableArticle, Integer>>() ;
        Map<TableArticle, Integer> row;
        
        try {
	        while(rset.next()){
	        	row = new HashMap<TableArticle, Integer>();
	        	row.put(
	        		read(conn, rset.getInt(1) ), 
	        		rset.getInt(2)
		        );
	        	result.add(row);
	        }
        } catch (SQLException e) {
			e.printStackTrace();
		}
        
        return result;
    }