我希望能够按照列值的连续出现对查询结果进行分组。比如说,我有一个表格列出了每年比赛的获胜者,如下所示:
我想要一个查询,输出以下内容:
year team_name
2000 AAA
2001 CCC
2002 CCC
2003 BBB
2004 AAA
2005 AAA
2006 AAA
我想要一个查询,输出以下内容:
。
start_end total team_name
2000 1 AAA
2001-2002 2 CCC
2003 1 BBB
2004-2006 3 AAA
只要我有开始和结束或范围(例如,可以使用GROUP_CONCAT生成2004、2005、2006,而不是2004-2006,这仍然可以接受),我就不太担心“start_end”的格式。
CREATE TEMPORARY TABLE results SELECT id, year, team FROM your_table WHERE ranking=1;
。顺便说一句,如果你仍然有很多获胜者记录,你也可以向该临时表添加索引以进一步加快速度。 - wimvds