hive ( default )> 1 . SELECT order_date,user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY order_date,user_id GROUPING SETS ((order_date,user_id)) 等价于 SELECT order_date,user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY order_date,user_id 2 . SELECT order_date,user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY order_date,user_id GROUPING SETS ((order_date,user_id), user_id) 等于 SELECT order_date,user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY order_date,user_id UNION ALL SELECT null ,user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY user_id 3 . SELECT order_date,user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY order_date,user_id GROUPING SETS (order_date,user_id) 等于 SELECT order_date, null ,count(*) FROM ds_hive.ch6_t_order GROUP BY order_date UNION ALL SELECT null , user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY user_id 4 . SELECT order_date,user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY order_date,user_id GROUPING SETS ((order_date,user_id), order_date,user_id, ()) 等于 SELECT order_date,user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY order_date,user_id UNION ALL SELECT order_date, null ,count(*) FROM ds_hive.ch6_t_order GROUP BY order_date UNION ALL SELECT null , user_id,count(*) FROM ds_hive.ch6_t_order GROUP BY user_id UNION ALL SELECT null , null ,count(*) FROM ds_hive.ch6_t_order ; |