我有一张这样的表
date | text | link_id
------------+-------+----------
05-10-2014 | lorem | 2
06-10-2014 | lorem | 4
05-10-2014 | lorem | 4
05-10-2014 | lorem | 5
05-10-2014 | lorem | 5
05-10-2014 | lorem | 5
05-10-2014 | lorem | 5
05-10-2014 | lorem | 5
05-10-2014 | lorem | 6
05-10-2014 | lorem | 4
我需要从我的行中得到组的计数结果
date | text | link_id | value
------------+-------+----------+-------
05-10-2014 | lorem | 2 | 1
06-10-2014 | lorem | 4 | 3
05-10-2014 | lorem | 5 | 6
以及为什么我使用功能
COUNT(DISTINCT n)
或仅
COUNT()
它总是强迫我将所有SELECT
语句添加到GROUP
我只有1行
答案 0 :(得分:0)
尝试:
Select link_id, Count (link_id)
From table
Group by link_id;
您应该将表格替换为表格的名称。
聚合函数将应用于组中的所有行。因此,您首先按link_id进行分组,并获取具有相同link_id的行组。然后将计数应用于每个组以计算每个组中的行数。然后你会得到link_id&&与结果具有相同link_id的行数。
请注意,您的问题实际上不清楚您打算如何实际选择其他两个列的数据。在你给出了fot link_id 4的例子中,你希望得到计数2,但是link_id 4的两个记录的日期不同(一个是5.10.2014,另一个是6.10.2014)。应该采取哪一个结果?