有三个表是相互关联的,我想统计 customers.userid,但三个表都不重复,但每次都卡住了。
这些是我的table:
客户表:
| ID(FOREIGN KEY)|userId| fname|
| --|--|--|
| 1 | 12 |一|
| 2 | 12 |B|
| 3 | 13 |C|
| 4 | 14 |D|
| 5 | 14 |e|
| 6 | 15 |F|
| 7 | 15 |G|
客户类别表:
| 客户ID(FOREIGN KEY)|Catid(FOREIGN KEY)|
| --|--|
| 1 | 99 |
| 2 | 99 |
| 3 | 100 |
| 4 | 101 |
| 5 | 101 |
| 6 | 101 |
| 7 | 101 |
类别表:
| ID|太平洋岛屿|名称|
| --|--|--|
| 1 | 99 |一|
| 2 | 99 |B|
| 3 | 100 |C|
| 4 | 101 |D|
| 5 | 101 |e|
| 6 | 101 |F|
| 7 | 101 |G|
除了我的代码的第一行2,其余的工作正常,结果是:
https://i.stack.imgur.com/bF1Re.jpg
但当我添加 * 选择DISTINCT的客户.userid从 * mysql给出错误1064.我的代码是:
select DISTINCT COUNT sub2.userid
FROM (
SELECT sub2.pcatid, customers.userid
FROM (
SELECT Subquery.id, categories.pcatid ,categories.name
FROM (
SELECT customers.id, customerscategories.catid
FROM customers
INNER JOIN customerscategories on customers.id=customerscategories.adid
) as Subquery
INNER JOIN categories on Subquery.catid = categories.id
) as sub2
INNER JOIN customers on sub2.id = customers.id)
WHERE sub2.pcatid=101;
字符串
我希望这个计数:2
1条答案
按热度按时间qgzx9mmu1#
计数的最小值为:
Count(expression)
所以你的代码应该是:
字符串
希望这对你有帮助。