让我说我有一个简单的查询:
SELECT
A
,B
FROM
C
我会得到这个结果:
A|B
---
x|x
如果不更改查询中的select子句(SELECT A,B),我如何收到如下结果:
B|A
---
x|x
########编辑
我问的原因是因为我想要执行以下操作,但语法不正确:
SELECT A, DISTINCT B
FROM C
我真的想要第一列中的DISTINCT B
,因为它更容易在结果中查看和查找模式。
有更好的方法吗?
答案 0 :(得分:1)
您可以使用子查询:
SELECT A, B FROM (SELECT B AS A, A AS B FROM C) AS sq;
显然列名不匹配,但列内容将被交换。
答案 1 :(得分:1)
你不是。在SQL中,列以查询指定的顺序返回。
除非你在谈论一个技巧问题,否则你说这个问题属于:
SELECT
B
,A
FROM (
SELECT
A
,B
FROM
C) D
或者,除非您正在讨论在应用程序中以不同顺序显示列,否则完全取决于您的应用程序。
但是,在纯SQL中,列顺序由查询定义。
答案 2 :(得分:1)
您的修改后的查询可以写成:
SELECT DISTINCT A, B
FROM RBase;
或
SELECT DISTINCT B, A
FROM RBase;