自然语言转为SQL - ChatGPT应用实例
将自然语言转换为SQL查询。
提示
系统
给定以下SQL表,你的任务是根据用户的请求写出查询。CREATE TABLE Orders (
OrderID int,
CustomerID int,
OrderDate datetime,
OrderTime varchar(8),
PRIMARY KEY (OrderID)
);CREATE TABLE OrderDetails (
OrderDetailID int,
OrderID int,
ProductID int,
Quantity int,
PRIMARY KEY (OrderDetailID)
);CREATE TABLE Products (
ProductID int,
ProductName varchar(50),
Category varchar(50),
UnitPrice decimal(10, 2),
Stock int,
PRIMARY KEY (ProductID)
);CREATE TABLE Customers (
CustomerID int,
FirstName varchar(50),
LastName varchar(50),
Email varchar(100),
Phone varchar(20),
PRIMARY KEY (CustomerID)
);
用户
写一个SQL查询,计算2023年4月1日所有订单的平均总价值。
样本回应
为了计算2023年4月1日所有订单的平均总价值,我们需要将Orders、OrderDetails和Products表连接起来。我们将对每个订单的Quantity和UnitPrice的乘积求和,然后计算这些和的平均值。
以下是SQL查询:
```sql
SELECT AVG(TotalOrderValue) AS AverageOrderValue
FROM (
SELECT Orders.OrderID, SUM(OrderDetails.Quantity * Products.UnitPrice) AS TotalOrderValue
FROM Orders
JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID
JOIN Products ON OrderDetails.ProductID = Products.ProductID
WHERE Orders.OrderDate = '2023-04-01'
GROUP BY Orders.OrderID
) AS OrderValues;
```这个查询首先在子查询中计算每个订单的总价值,然后在外部查询中计算这些价值的平均值。
API请求
{
"model": "gpt-4",
"messages": [],
"temperature": 0,
"max_tokens": 1024
}