How to group content in view by taxonomy terms? I have a content type called blogs and in which I referred a Taxonomy term which have three different terms in it.
Now what I want to achieve is three blocks with two recent posts for each taxonomy term.
Which should look like :
||       TERM 1            ||          TERM 2           ||        TERM3        ||

         title1                        title1                     title1
          desc                          desc                       desc

         title2                        title2                     title2
          desc                          desc                       desc
   
         read more...                  read more...              read more... 

I know we can create using seperate blocks each.
I need this to be created in a single block in views if this is possible.
I've tried group by in field settings, but it yields me something like this:
TERM 1

title1
desc

TERM 2

title1
desc
title2
desc
title3
desc

TERM 3

title1
desc

Since I specified 6 nodes to be displayed it displays 6 recent post irrespective of the taxonomy term.
I don't think a single View can you your job.

In the case you have fixed Term a non best practise approach will be to create 3 Views and a custom module

Views:


Create new view without add a page or a block
Add a filter to taxonomy term = 'Term 1'
Limit the results to the desired number, remove pager, add read more link.
Do the same for Term 2 and Term 3


Module:

term_display.info

name = 3 Term display
description = Display the articles of 3 terms
core = 7.x
package = My custom modules
version = 7.x-0.1


term_display.module

&lt;?php
/**
 * Implements hook_block_info().
 */
function term_display_block_info() {
  $blocks['term_display'] = array(
    'info' =&gt; t('term display'),
    'cache' =&gt; DRUPAL_CACHE_PER_ROLE,
  );
  return $blocks;
}

/**
 * Implements hook_block_view().
 *
 * Prepares the contents of the block.
 */
function term_display_block_view($delta = '') {
  // Initialize a block array.
  $block = array();
  // In case that we have more that one blocks the $delta will define witch one
  // to render.
  switch ($delta) {
    case 'term_display':

      // Give a block title.
      $block['subject'] = t('Term Display');

      // Tells the theme to render the content using ul list.
      $block['content'] = theme('item_list', array(
        'items' =&gt; term_display_create_items(),
        'type' =&gt; 'ul',
      ));
      break;
  }
  return $block;
}

/**
 * Create the items that will be render in the block.
 *
 * @return array
 *   Return an array of the block's items.
 */
function term_display_create_items() {
  // Initialize the items that will be rendered.
  $items[] = array(
    'data' =&gt;  'Term 1' . views_embed_view('trem_view_1', 'default'),
  );
  $items[] = array(
    'data' =&gt;  'Term 2' . views_embed_view('trem_view_2', 'default'),
  );
  return $items;
}


All the job is done in term_display_create_items() that embeds the View views_embed_view('VIEWS_MACHINE_NAME', 'DISPLAY_ID');

A better approach will be to give the Term as a parameter to the views_embed_view() and fetch it from the View. So you will have a single View that uses Contextual Filters to give you your results. But follow the above steps and you will find your way ;)

A third and more dynamically solution is using the Views Field Views but it will add a huge overhead to your site + will take more time to build it.