mysql - 需要帮助进行查询

标签 mysql sql

我需要弄清楚为什么我的查询不起作用。我想询问:

1) 生成一个列表:custName、No_of_orders、avg_order_amt,其中中间列是 客户的订单总数,最后一列是平均订单金额 那个顾客。提示:使用列别名获取上面列出的列标题以显示输出。此外,这还需要在 SELECT 子句中列出两个聚合函数。

我的意思是我希望我的查询能够选择每个客户,查找每个客户的订单数量,并对每个客户的订单金额进行平均。

2) 查找尚未发货的订单的customerID、客户名称、orderID 和订单总值(value)。提示:尚未发货的订单的shipDate 值为NULL。

你能帮我找到错误或丢失的命令吗?这是我的表格和代码:

SQL Tables

1.

Select c.cname as custName, sum(o.orderID) as No_of_orders, avg(i.price) as avg_order_amt

From Customer c, Item i

Join Order_ o

On o.customerID = c.customerID and o.itemID = i.itemID;

2.

Select c.customerID, c.cname, o.orderID

From Order_ o

Join Customer c

On c.customerID = o.customerID

Where o.orderDate = Null;

结果是空集。那不是我想要的。我知道 customerID 77777 没有订单,因此它必须在一个集合中。

最佳答案

以下是有关您的查询存在问题的一些提示:

(1)

此查询有两个明显的问题。最明显的是您正在使用聚合函数,但没有 group by 子句。第二个问题是 from 子句中的 , 。您应该在 from 子句中使用 join 语法。换句话说,where 子句中的逻辑应该位于一个或多个 on 子句中。

(2)

问题提到了shipdate,但我没有看到查询中引用了该日期。

关于mysql - 需要帮助进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20025302/

相关文章:

MySQL 5.1.7 两个表的条​​件联接从第二个表中按日期选择顶部记录以及第一个表中的所有记录

sql server只获取更新的记录

php - 我的 session 变量分配不正确

sql - 表垂直分区的优点

sql - 添加全选到下拉列表

php - 如何判断用户名是否已在数据库中使用

mysql - 使用 ODBC 连接器的 VBA/MySQL 问题

MySQL在一个表中创建两列数据的索引总和

php - MYSQL LEFT(column, 100) 和 PHP {$row[(column)]}

php - 使用自定义日期检索最近 3 年的数据