我有一个数据库表transaction
,其中包含以下列:
日期| mccg | us_amount |国家|
示例内容为:
08/10/2016 22:00:56 | 003 | 10 | UK
14/12/2016 19:26:34 | 004 | 30 | GER
18/02/2017 05:06:22 | 018 | 100 | UK
10/03/2016 14:52:45 | 018 | 25 | UK
12/03/2016 18:02:22 | 018 | 02 | UK
我想得到如下结果:
year_month_week | us_amount| country | mccg
2016-03-2 | 27 | UK | 018
2017-02-2 | 100 | UK | 01
我在网上搜索了类似的解决方案,但找不到任何有用的解决方案。
我尝试了以下查询:
SELECT year_month_week as (?),us_amount,country,mccg
FROM transaction
WHERE country like 'UK' and mccg like '018'
GROUP BY year_month_week
ORDER BY year_month_week
但是我的问题是如何设置year_month_week的工作方式或每周的格式。
答案 0 :(得分:1)
您可以使用to_char()
:
SELECT to_char(date, 'YYYY-MM-WW') as year_month_week,
SUM(us_amount) as us_amount, country, mccg
FROM transaction
WHERE country like 'UK' and mccg like '018'
GROUP BY year_month_week, country, mccg
ORDER BY year_month_week;
如果您要使用其他国家或地区的Mccg,请删除WHERE
过滤器。