Sql 不使用分组计数
您好,我想使用子查询, 在子查询中,无法使用Group By function进行计数,因此我希望在不使用Group By function的情况下对多个获取列进行计数Sql 不使用分组计数,sql,oracle,Sql,Oracle,您好,我想使用子查询, 在子查询中,无法使用Group By function进行计数,因此我希望在不使用Group By function的情况下对多个获取列进行计数 Select Count (STS_FK_GLUSR_ID) from STS_DSR_SALES@mainr, STS_company@mainr where STS_DSR_SALES.FK_STS_company_id = fk_STS_COMPANY_ID and STS_company.STS_F
Select Count (STS_FK_GLUSR_ID)
from STS_DSR_SALES@mainr, STS_company@mainr
where STS_DSR_SALES.FK_STS_company_id = fk_STS_COMPANY_ID
and STS_company.STS_FK_GLUSR_ID = STS_FK_GLUSR_ID
SAMPLE DATA
STS_DSR_SALES_DATE|STS_FK_GLUSR_ID
22-4-2019 |291
24-4-2019 |245
29-4-2019 |345
26-4-2019 |346
24-4-2019 |256
24-4-2019 |256
26-4-2019 |346
My expected Result is
STS_FK_GLUSR_ID| count
291 |1
245 |1
345 |1
346 |2
256 |2
为什么要使用子查询 简单使用
Select Count (STS_DSR_SALES_DATE), STS_FK_GLUSR_ID
from STS_DSR_SALES@mainr, STS_company@mainr
where STS_DSR_SALES.FK_STS_company_id = fk_STS_COMPANY_ID
and STS_company.STS_FK_GLUSR_ID = STS_FK_GLUSR_ID
GROUP BY STS_FK_GLUSR_ID;
让我们试试我的水晶球 阅读到目前为止发布的评论,我认为这是你正在做的事情;但是无效,因为子查询返回两列(
count
和STS\u FK\u GLUSR\u ID9
),而某些列只返回一列:
select *
from some_table
where some_column = (
-- this is your query with GROUP BY clasue
Select STS_company.STS_FK_GLUSR_ID,
Count (STS_FK_GLUSR_ID)
from STS_DSR_SALES@mainr, STS_company@mainr
where STS_DSR_SALES.FK_STS_company_id = fk_STS_COMPANY_ID
and STS_company.STS_FK_GLUSR_ID = STS_FK_GLUSR_ID
--
group by STS_company.STS_FK_GLUSR_ID
)
当查询返回5行时,不能说some\u column=
但是,您可以尝试使用
中的某个列
下面是它的样子;count
已删除,已添加
:
select *
from some_table
where some_column in (
Select STS_company.STS_FK_GLUSR_ID
from STS_DSR_SALES@mainr join STS_company@mainr
on STS_DSR_SALES.FK_STS_company_id = fk_STS_COMPANY_ID
and STS_company.STS_FK_GLUSR_ID = STS_FK_GLUSR_ID
--
group by STS_company.STS_FK_GLUSR_ID
having count(*) > 1
)
如果这并不是一个铃声,那么,考虑把你真正拥有的和你想从中得到的东西,即完成后的测试用例(<代码>创建表< /代码>和代码>插入到< /代码>)。您不能同时使用SQL Server和Oracle。删除了SQL Server,因为他提到Oracle SQLDeveloper是客户端。没有按函数分组-这是一个子句。为什么不能使用分组方式进行计数?首先。无论是谁回答了这个问题,我都想知道你是怎么做的。因为我想将此查询用作子查询,而无法在子查询中使用它,因为它提供了太多的值。我必须在组中使用。你的意思是什么?请不要用你的查询编辑我的答案。而是把它放在你的问题里。您的代码有几个语法错误。(请检查您的caps lock钥匙)