MySQL进阶SQL如何对数据进行组合

北京治白癜风最好的医院 https://baike.baidu.com/item/%E5%8C%97%E4%BA%AC%E4%B8%AD%E7%A7%91%E7%99%BD%E7%99%9C%E9%A3%8E%E5%8C%BB%E9%99%A2/9728824?fr=aladdin

SQLGROUPBY语句

合计函数(比如SUM)常常需要添加GROUPBY语句。

GROUPBY语句用于结合合计函数,根据一个或多个列对结果集进行分组。

SQLGROUPBY语法

SELECTcolumn_name,aggregate_function(column_name)

FROMtable_name

WHEREcolumn_nameoperatorvalue

GROUPBYcolumn_name

超实用性的Python零基础入门到进阶视频源码淘宝¥2购买已下架

SQLGROUPBY实例

我们拥有下面这个Orders表:

现在,我们希望查找每个客户的总金额(总订单)。

我们想要使用GROUPBY语句对客户进行组合。

我们使用下列SQL语句:

SELECTCustomer,SUM(OrderPrice)FROMOrders

GROUPBYCustomer

结果集类似这样:

很棒吧,对不对?

让我们看一下如果省略GROUPBY会出现什么情况:

SELECTCustomer,SUM(OrderPrice)FROMOrders

结果集类似这样:

上面的结果集不是我们需要的。

那么为什么不能使用上面这条SELECT语句呢?解释如下:上面的SELECT语句指定了两列(Customer和SUM(OrderPrice))。SUM(OrderPrice)返回一个单独的值(OrderPrice列的总计),而Customer返回6个值(每个值对应Orders表中的每一行)。因此,我们得不到正确的结果。不过,您已经看到了,GROUPBY语句解决了这个问题。

GROUPBY一个以上的列

我们也可以对一个以上的列应用GROUPBY语句,就像这样:

SELECTCustomer,OrderDate,SUM(OrderPrice)FROMOrders

GROUPBYCustomer,OrderDate

好了,本文到此结束。如果对编程、计算机、程序员方面感兴趣的话,欢迎私信联系我,随时交流!点个


转载请注明:http://www.aierlanlan.com/rzgz/2024.html