从SQL获取一系列整数中的单个事件的唯一计数

时间:2013-08-22 13:42:19

标签: php sql count rowcount

所以标题可能会产生误导,但我真的不敢想如何说出来。

理论上,假设我有一个包含列年份的7000条记录表。

年份数据的范围从1990年到2011年,但它们是同年的数百次重复出现。

使用我当前的SQL语句:

SELECT MonthlySales.Year FROM MonthlySales

只会返回7000条记录。

我需要在表格中计算每年ONCE的每个出现次数(因此我的表中应该有21条记录)。我正在使用PHP和SQL Server 2008。

我最初只填写了以下选项:

<option>1990</option>
<option>1991</option>

但是,如果需要我的数据,我必须允许用户输入更多其他年份,因此它必须是动态的。有了这些数据,我希望在HTML表单中使用它,可以选择一年:

<option>.$year.</option> 

有人可以澄清这是否也有效。

我只是想不出怎么做!虽然看起来很简单。

感谢您的光临。

2 个答案:

答案 0 :(得分:1)

以下SQL将为您提供表格和年份中出现年份的次数

select count(Year), year from MonthlySales group by year

如果您想要显示特定年份的金额,只需添加原因,如

select count(Year), year from MonthlySales where year = ? group by year

答案 1 :(得分:1)

获取每年出现的行数

select count(*), year
from MonthlySales
group by year;

简单地删除重复项

SELECT DISTINCT Year FROM MonthlySales;
相关问题