使用Group By的SQL查询的替代方法

时间:2015-06-02 09:28:13

标签: mysql group-by

我有两个包含列的表:

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,并仍然选择它?

有没有其他方法可以实现这一目标。

2 个答案:

答案 0 :(得分:1)

如果您正在对某些内容进行分组,则需要为所有列指定聚合。如果你没有这样做那么它必须在那些列的分组中。

在您的情况下,如果您想要实现它,则必须为e.empName列指定任何聚合函数。

答案 1 :(得分:0)

您可以使用该名称的stripeBillingName: stripeBillingAddressLine1: stripeBillingAddressApt: stripeBillingAddressZip: stripeBillingAddressCity: stripeBillingAddressState: stripeBillingAddressCountry: stripeBillingAddressCountryCode: min,但这假定您每个部门只有一名员工。

max

基本上,如果您按部门进行分组,那么每个部门只能获得一行,因此,如果您的每个部门都有多行员工,则无法在某些部门中进行过渡,小心这一点,可能会导致一些奇怪而危险的结果。