大神们求助.关于该怎么查询带有特殊意义的字段.譬如字段是avg(xxx),好像mysql给看成一个函数的,不认为是字段名.我该怎么用查找方法显示字段?
首先,我创建了一个表,里面录入了成绩,代码如下:
create database testdb2;
use testdb2;
create table test1(
coursename varchar(40),
score int
);
insert into test1 values('语文',98);
insert into test1 values('语文',78);
insert into test1 values('数学',79);
insert into test1 values('数学',69);
insert into test1 values('数学',90);
insert into test1 values('英语',80);
insert into test1 values('英语',90);
这是表1的内容:
然后,我根据课程名分组,求平均分创建了一个表格.
代码如下:
create table test2(select coursename,avg(score) from test1 group by coursename);
这是表2的结构和内容:
问题来了,我如果单独查询平均分的字段的话,用 select avg(score) from test2代码的话就会报错如下:
ERROR 1054 (42S22): Unknown column 'score' in 'field list'
mysql会默认avg(score)这个字段是一个函数,我该怎么查询avg(score)这个字段呢?
我琢磨的解决方案是这样的.
用别名创建平均分的表格:
create table test3(select coursename,avg(score) as avg from test1 group by coursename);
创建表格的内容就是这样.
这样就解决了这个问题.
可是,我的问题是我该怎么查询avg(score)这个字段下列的内容呢?有什么转义的方法么?
|