我如何显示 table 中的值

How do i show values from the table

如何显示此 table

中的所有值
 +------+---------+-------+--------+-----+
 | A    | B       | C     | D      | E   |
 +------+---------+-------+--------+-----+
 |   2  |    K    | M     | NULL   | S   |
 |   3  |    L    | C     | NULL   | N   |
 |   4  |    R    | P     | NULL   | N   |
 |   5  |    P    | N     | C      | N   |
 |   6  |    Y    | Q     | NULL   | S   |
 |   7  |    S    | T     | NULL   | S   |
 |   8  |    C    | M     | NULL   | N   |
 |   9  |    X    | C     | NULL   | S   |
 |  10  |    E    | Q     | NULL   | N   |
 |  11  |    A    | C     | NULL   | S   |
 |  12  |    C    | NULL  | C      | N   |
 |  13  |    F    | Q     | NULL   | N   |
 |  14  |    L    | NULL  | C      | S   |
 |  15  |    S    | P     | NULL   | S   |
 +------+---------+-------+--------+-----+

到此。
显示 A、B 列的前 8 个值,A 列中的 7 将是 5

SELECT A, B 来自字母 LIMIT 8;

 
 +------+--------+
 | A    | B      |
 +------+--------+
 |   2  |    K   |
 |   3  |    L   |
 |   4  |    R   |
 |   5  |    P   |
 |   6  |    Y   |
 |   5  |    S   |
 |   8  |    C   |
 |   9  |    X   |
 +------+--------+
 

您需要使用 case 表达式或 if() 函数。我更喜欢 case 表达式,因为它更 portable。此外,您需要提供 ORDER BY 子句,因为 table 中的记录没有顺序。

SELECT CASE WHEN A=7 THEN 5 ELSE A END as A, B FROM letters ORDER BY letters.A LIMIT 8;