Question: I'm dealing with some reporting on my company, and some of them have two column format for paper efficiency. My problem is, if i have table like this 

```
 +----+-------+-----+
 | id | name  | sex |
 +----+-------+-----+
 |  1 |   A   |   M |
 |  2 |   B   |   F |
 |  3 |   C   |   M |
 |  4 |   D   |   M |
 |  5 |   E   |   F |
 +----+-------+-----+

```

How can i format that to be like this

```
 +----+-------+-----+----+-------+-----+
 | id | name  | sex | id | name  | sex |
 +----+-------+-----+----+-------+-----+
 |  1 |   A   |   M |  4 |   D   |   M |
 |  2 |   B   |   F |  5 |   E   |   F |
 |  3 |   C   |   M |    |       |     |
 +----+-------+-----+----+-------+-----+

```

Is it possible to do that ?

Answer: 
I think this might solve your problem.

letz take an example that in your one page you can have 20 records. So with the side by side table now you can have 40 records.

Here you can create one table with 2 columns inside the first td you have one table with 3 columns and in the same in the second. fill first 20 records in first column and first table and then 20 to 40 into next column table. 

Hope you get the idea from this table format code in HTML.

```
<table>
 <tr>
  <td>
    <table>
      <tr>
        <td>ID</td>
        <td>Name</td>
        <td>Sex</td>
      </tr>
    </table>
  </td>
  <td>
    <table>
      <tr>
        <td>ID</td>
        <td>Name</td>
        <td>Sex</td>
      </tr>
    </table>
  </td>
 </tr>
</table>

```
After a couple of hours, it's possible to do that, without pivot table or temporary table. The query should be like this

```
set @b=0;
set @c=0;

select DISTINCT * from (
select @b:=@b+1 as number, name, sex from people limit 3 offset 0) as t LEFT JOIN (
select @c:=@c+1 as number, name, sex from people limit 3 offset 3) as t1 ON t.number=t1.number

```

That's query result is just like what i want. Thanks for all of your response.

Case Closed.