主要使用了字符串截取用作日期比较substr(),分组group by,过滤where,排序order by,以及count()和sum()聚合函数
如图,下表是订单表table_order,字段分别是order_id(订单号),member_id(客户号),trmnl_tp(下单平台),shop_country_nm(国家),order_time(订单时间),pay_nmt(销售额)
题目1:
计算2017年11月每个国家的购买客户数,订单数,销售额
SELECT
SUBSTR(a.order_time, 1, 10) AS '日期',
a.shop_country_nm AS '国家',
COUNT(DISTINCT a.member_id) AS '客户(去重)',
COUNT(a.order_id) AS '订单数',
SUM(a.pay_nmt) AS '销售额'
FROM
table_order a
WHERE
SUBSTR(a.order_time, 1, 7) > '2017-07'
AND SUBSTR(a.order_time, 1, 7) <= '2017-11'
GROUP BY
SUBSTR(a.order_time, 1, 7),
a.shop_country_nm
ORDER BY a.order_time
输出结果如下:
通过这个简单的小例子希望能帮助大家初步了解一下sql,同时也欢迎各位分享下更好的更有效率的sql