关注我

    我的微信
在线咨询 x
在线咨询
有什么可以帮到你
点击咨询

MySQL子句的查询陷阱

简介select后的子句 where, group by, having, order by, limit 5种子句是有严格的顺序的 where,group by,having,order by,limit 这5种子句可以选择的写其中几种,但是顺序要按照上面的顺序来

一、认识子句的查询顺序


select后的子句 where, group by, having, order by, limit


5种子句是有严格的顺序的

where,group by,having,order by,limit
这5种子句可以选择的写其中几种,但是顺序要按照上面的顺序来


查询每个栏目下最新的产品,goods_id 最大即为最新,要求: 只出现 1 次 select 查询

只用一条select语句是无法查询出来的

二、常见的错误一


虽然能查出内容,但是语句是有问题的

select max(goods_id),goods_name,cat_id from goods group by cat_id;

取出的每行的内容是不正确的,goods_id正确,但是对应的goods_name确实不对的;它取出的是,按照cat_id分组排序后,第一个出现行的goods_name


三、常见错误二


先按照goods_id排序再分组

select max(goods_id),goods_name,cat_id from goods order by goods_id desc group by cat_id;

# 语法错误

一条select 解决不了,就必须要用子查询或连接查询等