【发布时间】:2011-02-15 12:40:06
【问题描述】:
我有一个包含客户的表和另一个包含该客户结果的表。
一个客户可以有很多结果。
我希望能够首先仅选择在 CustResults 中有多个条目的客户,然后从中选择除第一个之外的所有记录...
到目前为止,我有这个,它检索具有多个结果的客户,但我不知道如何然后再输入第一个结果。
SELECT * FROM CustResults cp
JOIN Customer c ON c.CustomerID = cp.CustomerID
WHERE
(SELECT count(CustomerID) as cpid
FROM CustResults WHERE CustomerID = cp.CustomerID GROUP BY CxID) > 1
即
丽塔:结果 1 苏:结果 1,结果 2,结果 3,结果 4 鲍勃:结果 1,结果 2,结果 3
我只想要 Sue 和 Bob,因为 Rita 只有一个结果,而 Sue 和 Bob 我只想查看结果 2,3,4
有什么想法吗?
谢谢
添加更多信息:
这是我的确切查询:
选择计数(cp.CxID)作为 intSmokers FROM CustPrimarySmoking cp 加入客户 c ON cp.CxID = c.CustomerID WHERE (SELECT count(CustPrimarySmokingID) as cqpid FROM CustPrimarySmoking WHERE CxID = cp.CxID GROUP BY CxID) > 1
显然,我可以只使用 LIMIT 1, 99999,因为查询只返回一个值(计数)。
我希望计数使用在 CustPrimarySmoking 中有多个记录的客户,但忽略第一个条目。
还有什么想法吗?
【问题讨论】:
标签: mysql