这句sql是什么意思,请大神指教
select `sid`,count(*) as count from `hx_shop_period` group by sid order by count desc limit 5
回复内容: 这句sql是什么意思,请大神指教
select `sid`,count(*) as count from `hx_shop_period` group by sid order by count desc limit 5
查找 hx_shop_peried表,根据条件group by sid(以sid为分组)查找出sid字段和sid出现的次数,生成一个结果集。
然后对这个结果集进行降序排序,取出前5行
非大神...
1. select 很好理解,指定要返回哪些值,这里是返回 sid 和 count2. from 也很好理解,从 hx_shop_period 这张表里返回...3. 那么 count(*) as count 怎么理解?count(column_name) 是用于计算数量的,括号内是列的名字,如果为*表示表中的记录数。
但这里与 group by 连用,意思是计算各个 sid 的数量。
4. order by / limit 都很好理解就是按照什么排序,和限制返回数目连起来就是从 hx_shop_period 这张表里返回5条 sid 和 sid 的数量的消息,结果按照数量降序。
聚合sid,sid一样的数量加一起放一个字段,由数量降序只取5条记录