本题考查SQL语句中求平均值时使用的聚合类函数avg的用法,以及使用group by语句进行分组查询的方法。正确语法为B。A错在求平均值的函数正确写法是avg而不是average,C错在平均值函数应是avg以及分组查询应使用group by而不是order by,D错在group by与from的顺序颠倒了。
正确答案是:B: select avg(销售金额) from 订单 group by 品类;
分析:
1. **SQL聚合函数**:
- `avg()` 是SQL中用于计算平均值的聚合函数,而不是 `average()`。因此,选项A和C中使用的 `average()` 是不正确的。
2. **语法结构**:
- 在SQL中,`group by` 子句用于将结果集按一个或多个列进行分组。选项B和D都包含 `group by` 子句,但选项D的语法顺序不正确。
3. **正确的SQL查询结构**:
- SQL查询的基本结构应该是:`SELECT [列名] FROM [表名] WHERE [条件] GROUP BY [列名] ORDER BY [列名]`。
- 在选项B中,`select avg(销售金额) from 订单 group by 品类;` 完全符合SQL的语法规则。
综上所述,选项B是唯一正确的语句,因为它正确地使用了 `avg()` 函数,并且 `group by` 子句的语法和位置都是正确的。