0

所以标题可能会产生误导,但我真的不知道该怎么说。

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

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

使用我当前的 SQL 语句:

SELECT MonthlySales.Year FROM MonthlySales

只会返回 7000 条记录。

我需要计算表中每年一次的每个单独出现的次数(所以我的表中应该有 21 条记录)。我正在使用 PHP 和 SQL Server 2008。

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

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

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

<option>.$year.</option> 

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

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

感谢您的关注。

4

2 回答 2

1

获取每年出现的行数

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

简单地删除重复项

SELECT DISTINCT Year FROM MonthlySales;
于 2013-08-22T13:47:46.700 回答
1

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

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

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

select count(Year), year from MonthlySales where year = ? group by year
于 2013-08-22T13:44:54.030 回答