码迷,mamicode.com
首页 > 其他好文 > 详细

12_查询之五种子句使用陷阱

时间:2015-05-20 18:44:24      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:having   张新   where   


1.查询的五种子句是有先后顺序的,

  先后顺序分别是:

where,group by,having,order by,limit


2.使用group by时要小心,

  因为查询的列中的内容第一次出现当成代表,后面只换group by后字段中的内容,

  而不是group by后字段中的内容就不会变。如:

  select goods_name,cat_id,max(shop_price) from goods group by cat_id;这条语句就是错误的。goods_name只显示第一次查询到的内容。


  select * from goods group by cat_id;取出栏目分组后,每个栏目中第一次出现列的属性。



3.查询的列当成变量来理解

  查询的结果当成一张新表来理解


select goods_id,cat_id,goods_name,shop_price from goods order by cat_id,shop_price desc;把这整条语句的结果当成一张新表



查询每个栏目中价格最高的商品:

select * from (select goods_id,cat_id,goods_name,shop_price from goods order by cat_id,shop_price desc) as tmp group by cat_id;


12_查询之五种子句使用陷阱

标签:having   张新   where   

原文地址:http://1154179272.blog.51cto.com/10217799/1653247

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!