Sql 使用DISTINCT使用具有相同数据的SELECT子句
例如,在我的employee表中,我有这些数据Sql 使用DISTINCT使用具有相同数据的SELECT子句,sql,oracle,Sql,Oracle,例如,在我的employee表中,我有这些数据 //EMPLOYEE E# NAME CITY -------------------------- 1 JOHN ENGLAND 2 SITI ENGLAND 3 JESS GERMANY 4 HOLY BOSTON 当我运行此语句时: SELECT DISTINCT CITY, COUNT(E#) as "Tota
//EMPLOYEE
E# NAME CITY
--------------------------
1 JOHN ENGLAND
2 SITI ENGLAND
3 JESS GERMANY
4 HOLY BOSTON
当我运行此语句时:
SELECT DISTINCT CITY, COUNT(E#) as "Total Employee" FROM EMPLOYEE Where CITY=;
我应该为什么插入值
//CITY=?
为了得到这样的结果
CITY TOTAL EMPLOYEE
----------------------------
ENGLAND 2
GERMANY 1
BOSTON 1
使用GROUPBY或having子句不是不可能的吗
回答固定!谢谢好吧,你没有排除任何城市,所以你根本不需要一个WHERE
子句!但您确实需要一个分组依据
进行计数。您只需执行以下操作:
SELECT CITY, COUNT(E#) as "Total Employee"
FROM EMPLOYEE
GROUP BY CITY
但是,如果您只想包括这三个城市(即使基础数据中添加了更多),您可以执行以下操作:
SELECT CITY, COUNT(E#) as "Total Employee"
FROM EMPLOYEE
WHERE CITY IN ('ENGLAND', 'GERMANY', 'BOSTON')
GROUP BY CITY
好吧,您没有排除任何城市,因此根本不需要WHERE
子句!但您确实需要一个分组依据
进行计数。您只需执行以下操作:
SELECT CITY, COUNT(E#) as "Total Employee"
FROM EMPLOYEE
GROUP BY CITY
但是,如果您只想包括这三个城市(即使基础数据中添加了更多),您可以执行以下操作:
SELECT CITY, COUNT(E#) as "Total Employee"
FROM EMPLOYEE
WHERE CITY IN ('ENGLAND', 'GERMANY', 'BOSTON')
GROUP BY CITY
我已经有一段时间没有做任何SQL了,但我很确定选择DISTINCT就足以。。。选择不同的值。在您的示例中,您可以删除WHERE子句。到目前为止你都试了些什么?谢谢你。但我做到了。只是不知道如何删除线程,因为我得到了答案哦,你不删除线程,所以!这将破坏它的全部功能。@user3553846您不必删除线程。只需投票并接受答案。我已经有一段时间没有做任何SQL了,但我非常确定选择DISTINCT就足以。。。选择不同的值。在您的示例中,您可以删除WHERE子句。到目前为止你都试了些什么?谢谢你。但我做到了。只是不知道如何删除线程,因为我得到了答案哦,你不删除线程,所以!这将破坏它的全部功能。@user3553846您不必删除线程。只需向上投票并接受答案。+1:这应该是一个
groupby
而不是一个DISTINCT
,因为它使用了聚合函数COUNT()
。+1:这应该是一个groupby
而不是一个DISTINCT
,因为它使用了聚合函数COUNT()
。