Question

#6 Write a SELECT statement that returns these columns: The count of the number of orders...

#6

  1. Write a SELECT statement that returns these columns:

The count of the number of orders in the Orders table

The sum of the tax_amount columns in the Orders table

  1. Write a SELECT statement that returns one row for each category that has products with these columns:

The category_name column from the Categories table

The count of the products in the Products table

The list price of the most expensive product in the Products table

Sort the result set so the category with the most products appears first.

  1. Write a SELECT statement that returns one row for each customer that has orders with these columns:

The email_address column from the Customers table

The sum of the item price in the Order_Items table multiplied by the quantity in the Order_Items table

The sum of the discount amount column in the Order_Items table multiplied by the quantity in the Order_Items table

Sort the result set in descending sequence by the item price total for each customer.

  1. Write a SELECT statement that returns one row for each customer that has orders with these columns:

The email_address from the Customers table

A count of the number of orders

The total amount for each order (Hint: First, subtract the discount amount from the price. Then, multiply by the quantity.)

Return only those rows where the customer has more than 1 order.

Sort the result set in descending sequence by the sum of the line item amounts.

  1. Modify the solution to exercise 4 so it only counts and totals line items that have an item_price value that’s greater than 400.
  1. Write a SELECT statement that answers this question: What is the total amount ordered for each product? Return these columns:

The product name from the Products table

The total amount for each product in the Order_Items (Hint: You can calculate the total amount by subtracting the discount amount from the item price and then multiplying it by the quantity)

Use the WITH ROLLUP operator to include a row that gives the grand total.

Note: Once you add the WITH ROLLUP operator, you may need to use MySQL Workbench’s Execute SQL Script button instead of its Execute Current Statement button to execute this statement.

  1. Write a SELECT statement that answers this question: Which customers have ordered more than one product? Return these columns:

The email address from the Customers table

The count of distinct products from the customer’s orders

0 0
Add a comment Improve this question Transcribed image text
Answer #1

1)

SELECT COUNT(OrderID) as OrderCount,
SUM(TaxAmount) AS TaxTotal
FROM Orders

2)
SELECT CategoryName, COUNT(*) AS ProductCount,
MAX(ListPrice) AS MostExpensiveProduct
FROM Categories c JOIN Products p
ON c.CategoryID = p.CategoryID
GROUP BY CategoryName
ORDER BY ProductCount DESC
3)
SELECT EmailAddress, SUM(ItemPrice * Quantity) AS ItemPriceTotal,
SUM(DiscountAmount * Quantity) AS DiscountAmountTotal
FROM Customers c
JOIN Orders o ON c.CustomerID = o.CustomerID
JOIN OrderItems oi ON o.OrderID = oi.OrderID
GROUP BY EmailAddress
ORDER BY ItemPriceTotal DESC

4)
SELECT EmailAddress, COUNT(o.OrderID) AS OrderCount,
SUM((ItemPrice - DiscountAmount) * Quantity) AS OrderTotal
FROM Customers c
JOIN Orders o ON c.CustomerID = o.CustomerID
JOIN OrderItems oi ON o.OrderID = oi.OrderID
GROUP BY EmailAddress
HAVING COUNT(o.OrderID) > 1
ORDER BY OrderTotal DESC

5)
SELECT EmailAddress, COUNT(o.OrderID) AS OrderCount,
SUM((ItemPrice - DiscountAmount) * Quantity) AS OrderTotal
FROM Customers c
JOIN Orders o ON c.CustomerID = o.CustomerID
JOIN OrderItems oi ON o.OrderID = oi.OrderID
WHERE ItemPrice > 400
GROUP BY EmailAddress
HAVING COUNT(o.OrderID) > 1
ORDER BY OrderTotal DESC;
6)
SELECT ProductName, SUM((ItemPrice - DiscountAmount) * Quantity) AS ProductTotal
FROM Products p
JOIN OrderItems oi ON p.ProductID = oi.ProductID
GROUP BY ProductName WITH ROLLUP

7)
SELECT EmailAddress,
COUNT(DISTINCT oi.ProductID) AS NumberOfProducts
FROM Customers c
JOIN Orders o ON c.CustomerID = o.CustomerID
JOIN OrderItems oi ON o.OrderID = oi.OrderID
GROUP BY EmailAddress
HAVING COUNT(DISTINCT oi.ProductID) > 1
ORDER BY EmailAddress

Add a comment
Know the answer?
Add Answer to:
#6 Write a SELECT statement that returns these columns: The count of the number of orders...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT