sql - 可视化订单中所有价值最高的产品,从中提取最大的金额和订单
问题描述
Desired result
NAME PRICE
Lenovo X1 Carbon 4009.00
Lenovo ThinkVision X1 1549.00
Lenovo YOGA 520 1349.00
Motorola Moto Z2 999.00
Motorola Moto Z 549.00
Motorola Moto E5 179.00
ID CATEGORY NAME PRICE ORDER_ID
1 PC Lenovo ThinkaPad L380 1579 5
2 Mobile Motorola Moto E5 179 1
3 Mobile Motorola Moto Z 549 2
4 Monitor Lenovo ThinkVision X1 1549 4
5 PC Lenovo X1 Carbon 4009 3
6 Mobile Motorola Moto Z2 999 4
7 PC Lenovo Legion Y530 2099 4
8 PC Lenovo YOGA 520 1349 3
9 Monitor Lenovo ThinkVision X1 1549 6
10 PC Lenovo YOGA 520 1349 6
11 Monitor Lenovo ThinkVision X1 1549 3
12 Mobile Motorola Moto Z2 999 3
13 Mobile Motorola Moto E5 179 3
14 Mobile Motorola Moto Z 549 3
我使用这 2 个查询从照片中的表格中提取信息,但我需要找到一种方法来仅通过一个查询来检索信息,请帮助
SELECT TOP 1 NAME , PRICE, ORDER_ID
FROM PRODUCTS
ORDER BY PRICE DESC
SELECT NAME ,PRICE
FROM PRODUCTS
WHERE ORDER_ID like '%3%'
ORDER BY PRICE DESC
期望的结果
解决方案
-- Get everything from the table
SELECT
*
FROM
Products
-- Where the total order value for the order is the highest
Where
order_id =
(
-- The largest order total
SELECT TOP 1
order_id
FROM
Products
GROUP BY
order_id
ORDER BY
SUM(price) DESC
)
ORDER BY
Price DESC
推荐阅读
- c# - Xamarin 在 PushAsync() 之前初始化 ViewModel
- python - Pygame问题:如何让一个物体在碰撞后消失并一遍又一遍地创建一个新物体?
- kubernetes - 无法使用 KubernetesExecutor 运行 Airflow DAG - AirflowException:找不到 dag_id
- python - 尝试将一个数据帧中的值与另一个数据帧中的值匹配(python)
- python - Panda 中两行之间的相对百分比
- node.js - 无法加载自动化名称“XCUITest”和平台名称“iOS”的驱动程序。请验证您的 Appium 安装
- css - 使我的 flex 列对所有屏幕都有响应,html 文本重叠到下一部分并且列高似乎更短?
- javascript - EJS ReferenceError:未定义success_msg
- angular - 角度打字稿中的查找/过滤功能会引发错误
- rust - 意外的“找不到方法”编译器错误