I need to group post by year and then sort them alphabetically like 
2016 
   post1
   post2
  ....
2015
 post1
 post2
 post3
2014
  post1
....
			
Arnav Joy answers:
								you can try following 
<?php							
global $wpdb;
$years = $wpdb->get_col("SELECT DISTINCT YEAR(post_date) FROM $wpdb->posts WHERE  post_status = 'publish' AND post_type= 'post' ORDER BY post_date DESC");
 if( $years ){
	foreach( $years as $year ){
		echo '<div class="clearfix">';
			echo "<h2 class='year clearfix'>" . $year . "</h2>";
			
			$conn_arr = array();
			
			$query = new WP_Query( array( 
						'posts_per_page' => '-1',																									
						'post_type' => 'post',												 
						'year' => $year 
						) );
						
			if ( $query->have_posts() ) :							
				while ( $query->have_posts() ) : $query->the_post();
				   the_title();
					echo '<br>';
				endwhile;
			endif;	
		}
	}