【发布时间】:2014-07-25 15:26:14
【问题描述】:
我有一个 SQL 语句,它将按 First_Name 计算出现次数和分组,但出于其他目的,我需要知道有多少家庭成员是客户以及使用相同的姓氏的 COUNT。 这是我写的代码。
SELECT a.Last_Name, a.First_Name,
SUM(CASE WHEN b.ITM = 'P_10' THEN 1 ELSE 0 END) AS P_10_COUNT
FROM CUST_PROFILE
INNER JOIN ORDER b
ON a.ID = b.ID
GROUP BY a.First_Name, a.Last_Name;
我对如何编写代码有一个粗略的想法(也许),见下文....
SELECT a.Last_Name, a.First_Name,
SUM(CASE WHEN b.ITM = 'P_10' THEN 1 ELSE 0 END) AS P_10_COUNT,
COUNT(c.Name_Count)
FROM CUST_PROFILE
INNER JOIN ORDER b
ON a.ID = b.ID
LEFT JOIN (select Last_Name, count(DISTINCT First_Name) Name_Count
from CUST_PROFILE
GROUP BY Last_Name) c
GROUP BY a.First_Name, a.Last_Name;
【问题讨论】: