鱼C论坛

 找回密码
 立即注册
查看: 113|回复: 1

[已解决]客户ID这条代码为什么不能正常运行

[复制链接]
发表于 2024-11-15 15:09:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x


大神请帮忙看看,这条代码为什么不用正常运行,感谢!

select a.客户ID,a.重复个数,b.购买次数

(SELECT 客户ID,COUNT(客户ID)as重复个数
FROM
`销售订制单(云南)`
GROUP BY 客户ID
HAVING COUNT(客户ID) > 1
ORDER BY 客户ID)a,

(SELECT 客户ID,COUNT(客户ID)as 购买次数
FROM
`销售订制单(云南)`
GROUP BY 客户ID
ORDER BY 客户ID)b

where
a.客户ID=b.客户ID
最佳答案
2024-11-15 15:09:18
这段SQL代码不能正常运行的原因是缺少了合法的语法结构。以下是一些问题以及修改建议:

1. **缺少`FROM`关键字**:在两个子查询的末尾,你没有用逗号连接两个子查询,而是应当通过`FROM`关键字来指定它们。这导致SQL语法不完整。

2. **逗号的位置**:逗号位置不正确,应该将它放在子查询之外,而不是在子查询之间。

3. **缺少`SELECT`关键字的声明**:在主查询的`SELECT`语句中,缺少一个明确的声明,代码缺少主查询的`FROM`部分。

下面是修改后的代码:
SELECT a.客户ID, a.重复个数, b.购买次数
FROM
(SELECT 客户ID, COUNT(客户ID) AS 重复个数
 FROM `销售订制单(云南)`
 GROUP BY 客户ID
 HAVING COUNT(客户ID) > 1) a
JOIN
(SELECT 客户ID, COUNT(客户ID) AS 购买次数
 FROM `销售订制单(云南)`
 GROUP BY 客户ID) b
ON a.客户ID = b.客户ID
ORDER BY a.客户ID;

修改要点:
- 用`JOIN`替换逗号连接,将两个子查询作为表进行连接。
- 在`JOIN`条件上,使用`ON`关键字来指定连接条件。
- 确保整体查询的`ORDER BY`位于最后。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-11-15 15:09:18 | 显示全部楼层    本楼为最佳答案   
这段SQL代码不能正常运行的原因是缺少了合法的语法结构。以下是一些问题以及修改建议:

1. **缺少`FROM`关键字**:在两个子查询的末尾,你没有用逗号连接两个子查询,而是应当通过`FROM`关键字来指定它们。这导致SQL语法不完整。

2. **逗号的位置**:逗号位置不正确,应该将它放在子查询之外,而不是在子查询之间。

3. **缺少`SELECT`关键字的声明**:在主查询的`SELECT`语句中,缺少一个明确的声明,代码缺少主查询的`FROM`部分。

下面是修改后的代码:
SELECT a.客户ID, a.重复个数, b.购买次数
FROM
(SELECT 客户ID, COUNT(客户ID) AS 重复个数
 FROM `销售订制单(云南)`
 GROUP BY 客户ID
 HAVING COUNT(客户ID) > 1) a
JOIN
(SELECT 客户ID, COUNT(客户ID) AS 购买次数
 FROM `销售订制单(云南)`
 GROUP BY 客户ID) b
ON a.客户ID = b.客户ID
ORDER BY a.客户ID;

修改要点:
- 用`JOIN`替换逗号连接,将两个子查询作为表进行连接。
- 在`JOIN`条件上,使用`ON`关键字来指定连接条件。
- 确保整体查询的`ORDER BY`位于最后。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 02:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表