0
我有一个数据集,看起来像这样(还有其他列,但这些都是相关的):需要帮助试图通过一个月排名分组值
**Month | Revenue | Segment**
01/01/2016 | $40,000 | Seg XYZ
我试图将排序分配给各分部按月收入计算。因此,如果一月份的第二排为30,000美元的另一个细分市场,则第一排的排名为1,第二排的排名为2。这将在各个细分市场和几个月重复。
这是我的查询:
Select
a.*
<br>,case when @d=month then @r:[email protected]+1
<br>else @r:=1 end as rank
<br>,@d:=month as stuff
<br>from
<br>(select month
<br>,sum(Revenue) as Revenue
<br>,segment from final_audience_usage_file
<br>group by month, segment) a
<br>join
<br>(select @r:=0,@d:=0)d
<br>order by month, revenue desc
我不断收到此错误:数据被截断:不正确的日期值:“0”在行“月”列1
我查了一下资料,并且没有零点,但是它在第一行的事实使我相信我正在做的事情是将其改变为零。有什么想法吗?
我不知道你为什么让这个连接'加入(选择@r:= 0,@ d:= 0)d'。我想这一个将其设置为零 –
我想'月'你的意思是**月和年**,对吧?无论如何,您应该选择所有记录的提取月份和年份,并按“month_year asc,revenue desc”排序。 – FDavidov