mysql - MYSQL中如何生成子集?

标签 mysql

我有一封表信。一列名为“letter”,类型为 VARCHAR。 例如

---------
|letter|
|a     |
|b     |
|c     |
--------

我想要的输出是:

-----------------
|NULL|NULL|NULL|
|a   |NULL|NULL|
|b   |NULL|NULL|
|c   |NULL|NULL|
|a   |b   |NULL|
|a   |c   |NULL|
|b   |c   |NULL|
|a   |b   |c   |
-----------------

如何生成这样的表格....

最佳答案

CREATE TABLE letters (letter char);
INSERT INTO letters VALUES ('a');
INSERT INTO letters VALUES ('b');
INSERT INTO letters VALUES ('c');

SELECT
   t1.letter,
   t2.letter,
   t3.letter
 FROM 
   (SELECT NULL AS letter UNION SELECT letter FROM letters) t1
   JOIN (SELECT NULL AS letter UNION SELECT letter FROM letters) t2 ON t2.LETTER IS NULL OR t2.letter > t1.letter
   JOIN (SELECT NULL AS letter UNION SELECT letter FROM letters) t3 ON t3.LETTER IS NULL OR t3.letter > t2.letter

SQL fiddle :http://sqlfiddle.com/#!9/a8232b9/2

关于mysql - MYSQL中如何生成子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47502254/

相关文章:

php - 处理来自不同时区的时间并存储到mysql中

mysql - 通过多个表获取MySQL数据

mysql - 使用 ORDER BY id DESC 在 Max Date 值上进行 LEFT JOIN

mysql - 我需要显示来自 BRAND_CAR 的所有汽车,即使其中没​​有汽车

mysql - 自定义子选择请求和 MySQL 的 where 子句

mysql - 选择不同值多列

mysql - 是否可以在不查询数据库的情况下增加数据库值?

php - 在每四个 mysql 表行上启动 PHP echo

php - 使用 PHP 比较递增的系列值

mysql - 第一个带有注释的 Hibernate 类