我尝试过运行两个基本相同的SQL查询,但只是在GROUP BY方面有所不同。为了更清楚,以下是我的疑问。
首先查询:
SELECT EXTRACT(YEAR FROM tarikh_lulus) AS Tahun, COUNT(*) AS Jumlah
FROM association
GROUP BY Tahun
第一个查询给了我以下结果
Tahun Jumlah
0 60
0 1464
5 1
6 2
7 1
8 2
1970 3
1998 431
1999 206
2000 77
2001 97
2002 104
2003 123
2004 59
2005 1
2006 8
2007 162
2008 173
2009 498
2010 620
2011 915
2012 911
2013 602
第二个问题:
SELECT EXTRACT(YEAR FROM tarikh_lulus) AS Tahun, COUNT(*) AS Jumlah
FROM association
GROUP BY tarikh_lulus
第二个查询提供了以下内容:
Tahun Jumlah
0 60
1970 3
1998 16
1998 1
1998 36
1998 1
1999 8
1999 14
1999 3
1999 12
2000 1
2000 5
2001 4
2001 1
2001 7
2002 3
2002 2
2002 1
2002 3
2003 7
2003 3
2003 1
2004 1
2005 1
2007 1
2007 1
2007 2
2007 1
2008 1
2008 2
2008 1
2008 11
2009 1
2009 26
2009 4
2010 47
2010 71
2010 6
2010 52
2010 1
2011 7
2011 32
2011 10
2011 15
2011 1
2011 1
2011 38
...
为什么结果不同?据我所知,它按同一列分组?
答案 0 :(得分:4)
好吧,在第一次查询中,您按年份分组。
因此,您将逐年获得一个结果。
第二,你按完整的日期分组。
因此,即使您只选择年份(它只是显示),您将按完整日期获得一个结果行
<强>差分强>
每年只有一年。
一年中有很多日期。