Php 从SQL获取整数范围内单个事件的唯一计数

Php 从SQL获取整数范围内单个事件的唯一计数,php,sql,count,rowcount,Php,Sql,Count,Rowcount,所以这个标题可能有误导性,但我真的不知道该怎么说 理论上,假设我有一个包含7000条记录的表,其中包含年份列 年份数据范围从1990年到2011年,但它们是同一年的数百个重复事件 使用我当前的SQL语句: SELECT MonthlySales.Year FROM MonthlySales 只需返回7000条记录 我需要在一个表中对每年发生的每个事件进行一次计数(因此我的表中应该有21条记录)。我正在使用PHP和SQLServer2008 我最初只是这样填写选项表: <option>

所以这个标题可能有误导性,但我真的不知道该怎么说

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

年份数据范围从1990年到2011年,但它们是同一年的数百个重复事件

使用我当前的SQL语句:

SELECT MonthlySales.Year FROM MonthlySales
只需返回7000条记录

我需要在一个表中对每年发生的每个事件进行一次计数(因此我的表中应该有21条记录)。我正在使用PHP和SQLServer2008

我最初只是这样填写选项表:

<option>1990</option>
<option>1991</option>
1990
1991
然而,如果需要的话,我必须允许用户在我的数据中输入更多其他年份的数据,所以它必须是动态的。有了这些数据,我希望以HTML形式使用它,从而可以选择年份:

<option>.$year.</option> 
$year。
有人能澄清一下这是否也有效吗

我就是想不出怎么做!尽管看起来很简单


感谢您的关注。

下面的SQL将为您提供一年在表中出现的次数和年份

select count(Year), year from MonthlySales group by year
如果您希望显示特定年份的金额,只需添加一个where原因,如

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

获取每年显示的行数

select count(*), year
from MonthlySales
group by year;
只需删除重复项

SELECT DISTINCT Year FROM MonthlySales;

你想每年数一次吗?还是一个独特的?非常感谢!我将在几分钟后选择作为答案。