SQL入门

select * from table;

SQL实战题目

  • 有下面一个表 t ,存储了每个商品类别的成交明细,我们需要通过下面这张表获取订单量大于10对应的类别,并从中取出订单量前3的商品类别,会有一些测试的订单(id=xxx的为测试),我们需要过滤掉。
id order_id
c1 1
c1 2
c1 3
c2 4
c2 5
c3 6
... ...
c100 10000

为了满足需求,SQL可以这样子写:

select 
	id,
	count(order_id) as sales
from
	t
where id <> "xxx"
group by 
	id
having
	count(order_id) > 10
order by 
	count(order_id) desc
limit 3;

代码中涉及SQL关键词:selectfromwheregroup byhavingorder bylimit

执行优先顺序:from - where - group by - having - select - order by - limit

相关文章:

  • 2021-12-19
猜你喜欢
  • 2021-12-02
  • 2021-12-31
  • 2021-12-13
相关资源
相似解决方案