我得到这个错误:
错误:“programmer.pname”列必须出现在GROUP BY子句中或用于聚合函数中
第1行:从程序员中选择pname,min(age(doj));
我有一个名为programmer
的表和带有日期的列dob
,doj
。
这里doj
是加入的日期。
我想在所有的程序员中找到最没有经验的程序员。
这是我的尝试:
SELECT pname, min(age(doj)) FROM programmer;
我得到了上面的错误。
这是什么
programmer.pname
以及上面的正确查询是什么? 最佳答案
GROUP BY
语句与聚合函数一起使用,将结果集按一列或多列分组。
select pname, min(age(doj))
from programmer
group by pname
找到所有程序员中经验最少的程序员
select pname
,min(age(doj)) mindoj
from programmer
group by pname
order by mindoj limit 1
或
select pname,doj
from programmer
order by doj limit 1
在这种情况下,您可能有不止一个经验最少的程序员(具有相同经验最少的程序员)
select pname,doj
from programmer
where doj=(select min(doj) from programmer)
programmer.pname是什么,正确的查询是什么
上面?
programmer.pname=表名.columnname