我想知道是否有一种方法让select语句每隔一行返回一个空行(或每列所有空值的行),这样我就可以避免在从MySQL导出结果后这样做
我无法以任何方式想到这一点,谷歌不会把我带到哪里。
答案 0 :(得分:2)
假设我有一个包含3列的表user
:user_id
,user_name
和password
。以下是使用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;