自然語言轉為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
}