我有一个看起来像这样的表
╔═════════╤══════════╗
║ user_id │ quantity ║
╠═════════╪══════════╣
║ 5 │ 1 ║
╟─────────┼──────────╢
║ 5 │ 5 ║
╟─────────┼──────────╢
║ 5 │ 9 ║
╟─────────┼──────────╢
║ 6 │ 0 ║
╟─────────┼──────────╢
║ 6 │ 1 ║
╟─────────┼──────────╢
║ 7 │ NULL ║
╟─────────┼──────────╢
║ 7 │ 2 ║
╟─────────┼──────────╢
║ 7 │ NULL ║
╟─────────┼──────────╢
║ 7 │ 5 ║
╟─────────┼──────────╢
║ 7 │ 0 ║
╟─────────┼──────────╢
║ 7 │ 1 ║
╚═════════╧══════════╝
我想创建一个使用GROUP BY
的查询,以生成如下所示的结果:
╔═════════╤════════════════╤══════════════╤══════════════╤══════════════════╗
║ user_id │ quantity_total │ quantity_min │ quantity_max │ quantity_average ║
╠═════════╪════════════════╪══════════════╪══════════════╪══════════════════╣
║ 5 │ 15 │ 1 │ 9 │ 5 ║
╟─────────┼────────────────┼──────────────┼──────────────┼──────────────────╢
║ 6 │ 1 │ 0 │ 1 │ 0.5 ║
╟─────────┼────────────────┼──────────────┼──────────────┼──────────────────╢
║ 7 │ 8 │ 0 │ 5 │ 2 ║
╚═════════╧════════════════╧══════════════╧══════════════╧══════════════════╝
请注意,有些随机字段的值可能为NULL
,将被跳过,而在最小值,最大值或平均值中将忽略它们,而不。预先感谢您的指导!
答案 0 :(得分:1)
SELECT user_ID, sum(quantity) as quantiy_total, min(quantity) as quantiy_min ,
max(quantity) as quantity_max, avg(quantity) as quantity_avg
FROM TABLE1
GROUP BY ( user_ID)