MySQL从select中每隔一行返回一个空行?

时间:2011-04-29 14:33:54

标签: mysql

我想知道是否有一种方法让select语句每隔一行返回一个空行(或每列所有空值的行),这样我就可以避免在从MySQL导出结果后这样做

我无法以任何方式想到这一点,谷歌不会把我带到哪里。

6 个答案:

答案 0 :(得分:2)

假设我有一个包含3列的表useruser_iduser_namepassword。以下是使用LEFT JOIN为表格的每个列选择一行null值而不在SELECT中单独指定列的方法:

SELECT u.*
FROM (SELECT null) a
LEFT JOIN `user` u
ON false;

此查询将返回:

+---------+-----------+----------+
| user_id | user_name | password |
+---------+-----------+----------+
|    NULL |      NULL |     NULL |
+---------+-----------+----------+

答案 1 :(得分:0)

我不是百分百肯定我得到了你想要的东西。你在寻找像SELECT * FROM table1 LIMIT 0这样的东西吗?

答案 2 :(得分:0)

(注意:我还不能发表评论,所以我在这里发帖) 也许这会帮助你开始?

你必须找到一种方法来解决这个问题:

SELECT col1, col2, col3 FROM table LIMIT 1 UNION SELECT "", "", "";

答案 3 :(得分:0)

set @i := 0;
set @j := 1;

select c1
from (
    select c1, @i := @i + 2 as o
    from my_table
    union
    select '' as c1, @j := @j + 2 as o
    from my_table
) ss
order by o
;

答案 4 :(得分:0)

SELECT col1, col2, col3
FROM (
      SELECT dummy, col1, col2, col3
      FROM (
        SELECT col1 AS dummy, col1, col2, col3
        FROM dumbtask
        ORDER BY col1
       ) t1
       UNION ALL
       (
        SELECT col1 AS dummy, NULL AS col1, NULL AS col2, NULL AS col3
        FROM dumbtask
        ORDER BY dummy
       )
      ORDER BY dummy) t3;

我不得不说......这是我最近看到的最愚蠢的任务之一。

答案 5 :(得分:0)

有时候这确实是必要的,例如在将数据库用于应用程序时。

仅使用:

select 0 limit 0;