SELECT 语句 Return Sybase 中每一行的计数 Table

SELECT statement to Return a Count for Each Row in Sybase Table

在 MongoDB/Node 后端环境中工作时,我需要 运行 一些 ETL 以从以前的 Sybase 环境中提取数据。与 Mongo/Node 相比,我对 SQL 的熟悉程度要低得多。

以下 SELECT 语句在 bl_serv_staffmember_xref table 中查找特定记录(数据行)的 count

SELECT Count()
   FROM  "bl_serv_staffmember_xref"
   WHERE ( "bl_serv_staffmember_xref"."staff_member_id" = 129 ) AND 
         ( "bl_serve_staffmember_xref"."isactive" = 1 );

我需要做的是生成一个 SELECT 语句,该语句将为 table 中的每一行计算 return 数据。我该怎么做?

我试过这个:

SELECT Count()
    FROM  "bl_serv_staffmember_xref"
   WHERE   ( "bl_serv_staffmember_xref"."staff_member_id" is NOT NULL ) AND 
         ( "bl_serv_staffmember_xref"."isactive" = 1 )   ;

但这只是 return 个 计数:

Count()
1   2,452

而不是 每个 staff_member_id 的计数,这正是我需要的。

这是我想要的结果:

staff_member_id     assignment_count
1                   23
2                   12
3                   16

您可以使用 count(*) 和分组依据,例如:

SELECT bl_serv_staffmember_xref.staff_member_id, Count(*)
FROM  "bl_serv_staffmember_xref"
WHERE ( "bl_serve_staffmember_xref"."isactive" = 1 )
GROUP BY bl_serv_staffmember_xref.staff_member_id