当group by是SQL的一部分时,如何执行订单?

时间:2017-02-20 16:14:52

标签: sql-server

我有这个SQL:

 Select Substring([English],1,1) Col1,
 convert(varchar,Count(1)) Col2
 From Phrase Group by Substring([English], 1, 1)

有没有办法可以通过Substring([English],1,1)的值来订购?

4 个答案:

答案 0 :(得分:2)

只需在分组后添加订单。

请注意,您可以按顺序使用select中的别名,但不能在group by中使用; as group by在select之前执行,order by在select之后执行。

 SELECT Substring([English],1,1) Col1
      , convert(varchar,Count(1)) Col2
 FROM Phrase 
 GROUP BY Substring([English], 1, 1)
 ORDER BY COL1

答案 1 :(得分:1)

在列计算后发生排序,您可以使用列别名

    Select Substring([English],1,1) Col1,
     convert(varchar,Count(1)) Col2
     From Phrase 
    Group by Substring([English], 1, 1)
    Order By Col1

答案 2 :(得分:1)

只需将order by与列别名一起使用。

 Select Substring([English],1,1) Col1,
 convert(varchar,Count(1)) Col2
 From Phrase Group by Substring([English], 1, 1)
 order by Col1

答案 3 :(得分:0)

select Col1, Col2 FROM
( Select Substring([English],1,1) Col1,
 convert(varchar,Count(1)) Col2
 From Phrase Group by Substring([English], 1, 1)
) as Table1
Order By Col1