我有两个包含列的表:
Table: Employee
1.empName
2.empNo
3.deptId
Table: Department
1.deptId
2.deptName
我写了一个查询 -
select count(*) as total, d.deptName, e.empName from Employee e JOIN Department d on e.deptid = d.deptid Group By d.deptName, e.empName;
以上查询工作正常,但我想学习如何编写查询以避免在e.empName
子句中包含Group By
,并仍然选择它?
有没有其他方法可以实现这一目标。
答案 0 :(得分:1)
如果您正在对某些内容进行分组,则需要为所有列指定聚合。如果你没有这样做那么它必须在那些列的分组中。
在您的情况下,如果您想要实现它,则必须为e.empName列指定任何聚合函数。
答案 1 :(得分:0)
您可以使用该名称的stripeBillingName:
stripeBillingAddressLine1:
stripeBillingAddressApt:
stripeBillingAddressZip:
stripeBillingAddressCity:
stripeBillingAddressState:
stripeBillingAddressCountry:
stripeBillingAddressCountryCode:
或min
,但这假定您每个部门只有一名员工。
max
基本上,如果您按部门进行分组,那么每个部门只能获得一行,因此,如果您的每个部门都有多行员工,则无法在某些部门中进行过渡,小心这一点,可能会导致一些奇怪而危险的结果。