如果我选择一列,例如
SELECT columnname FROM table
结果是否总是与
SELECT columnname FROM table GROUP BY columnname
还是取决于数据库管理系统?
不,这不一样,因为第一个查询可能返回重复项,而第二个查询不会。
另一方面,此查询将返回与该查询相同的结果group by
:
SELECT DISTINCT columnname FROM table
结果的顺序可能不同。
它不一样,如果你 grup oyu 每个列名只会得到一条记录,另一个你可以有多个。
您发布的任何查询都没有定义顺序...要设置顺序,您必须放置 ORDER BY 子句,如下所示:
SELECT columnname FROM table ORDER BY columnname;
结果可能会出现重复的行...这取决于您的表上是否有重复的值。GROUP BY 子句只会选择每种类型中的一种,可以如下设置:
SELECT columnname FROM table GROUP BY columnname ORDER BY columnname;
或者,正如 Dasblink 之前所说,使用 DISTINCT 子句......
SELECT DISTINCT columnname FROM table ORDER BY columnname;
请注意,您可以仅使用 ORDER BY 和参数或放置 ASC 或 DESC 条件,因此顺序将来自较高的值到较低的值。