mysql的不同之处 多数dbms 使用+ 或||来实现并接,mysql则使用Concat()函数
来实现,当把sql语句转换成mysql语句时,一定要把这个区别名铭记在心。
select Concat(vend_name,'(',vend_country,')') from vendors order by vend_name;
汇总数据
聚集函数 (aggregate function) 运行在行动组上,计算和返回单个值的函数。
AVG() 返回某列的平均值;COUNT( ) 返回某列的行数 MAX()返回某列的最大值
MIN() 返回某列的最小值 ;SUM 返回某列的值之和;注: COUNT(column)
对特定列中具有值的行进行计数,忽略null值。COUNT( * )对所有的行汇总 。
分组数据
分组是在select语句的group by 子句中建立的。
select vender_id , count ( * ) as num_prods
from products
group by vend_id;
group by 子句必须出现在where子句之后,order by 子句之前。
1 过滤分组
使用having进行过滤分组。
select cust_id,count( * ) as orders from orders
group by cust_id
having count( * ) >=2;
having 和where 的差别: where在数据分组前进行过滤,having在数据分组后
进行过滤。
select 子句及其顺序
select from where group by having order by limit.