在MongoDB / Node后端环境上工作时,我需要运行一些ETL以从以前的Sybase环境中提取数据。我对SQL的了解远不如对Mongo / Node的了解。
以下SELECT语句在count
表中查找特定记录(数据行)的bl_serv_staffmember_xref
:
SELECT Count()
FROM "bl_serv_staffmember_xref"
WHERE ( "bl_serv_staffmember_xref"."staff_member_id" = 129 ) AND
( "bl_serve_staffmember_xref"."isactive" = 1 );
我需要做的是生成一个SELECT语句,该语句将为表中的每个行返回具有该计数的数据。我将如何去做?
我尝试过:
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 ) ;
但这只会返回一个总数计数:
Count()
1 2,452
不是我需要的每个 staff_member_id
的计数。
这是我想要的结果:
staff_member_id assignment_count
1 23
2 12
3 16
答案 0 :(得分:2)
您可以使用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