在Access 2000 SQL中对具有数字范围的行进行分组?

时间:2017-07-10 11:50:25

标签: sql vba ms-access

我的两张专栏中有这张照片:

group by access 2000

" povrsina"面积以平方米计。它可以在范围内分类,例如(0

" tipprod"可以有文字值,如" 01"," 05"," 09"," 04"等...

我需要将我拥有的所有数据分组为#po; povrsina"但在给定的范围内。 我在访问中创建了一个帮助表,如下所示:

group by access 2000

您可以看到范围。我用我的主表尝试了它,但我不确定我是否得到了正确的结果。是真的检查" povrsina"值与我的助手表中的范围相对应?

如何在Access 2000中执行此操作?

3 个答案:

答案 0 :(得分:2)

您可以使用povrsina_min,povrsina_max在指南表中添加两个字段来定义范围:

povrsina_tag|povrsina_min|povrsina_max
10          |0           |10
30          |11          |30
....

然后你可以使用CROSS JOIN对你的指南表进行查询,添加一个where clase     povrsina< = povrsina_max和povrsina> = povrsina_min

然后你可以GROUP BY povrsina_tag和tipprod。

答案 1 :(得分:1)

猜猜......你能尝试这样的事吗?

select MainTable.Povishnina as [Povishnina], count(*) as [number of occurences]
from (
  select case  
    when score between 0 and 10 then ' do 10 m2'
    when score between 30 and 50 then ' od 11 do 30 m2'
    else 'Nad 3000 m2'
  from scores) MyTable
group by MainTable.Povishnina

一般来说,看看这个问题: In SQL, how can you "group by" in ranges?

答案 2 :(得分:1)

在Access查询中,您可以使用:

Select 
    *,
    (Select Top 1 T.PovrsinaM2 From T13_Povrshina As T
    Where T.povrsina <= YourTable.povrsina
    Order By T.povrsina Desc)
From
    YourTable

您必须稍微调整T13_Povrshina。