我在MS Access数据库中有一个查询,返回大约100 - 200行,这是完美的,它应该是它应该做的。但是,现在最终用户希望看到最后+/- 15行的摘要以及未显示的行的总数。
我发现Access有一个功能最高值,但是如果我针对这个特定情况执行此操作,它只计算正在显示的行的总数。我也尝试基本上复制查询并限制其中一个,这部分工作。它返回正确的行,但似乎我只能用一个查询的值来计算。
有什么方法可以完成我正在尝试做的事情,或者我应该告诉最终用户不要打印报告的前x页数量?
亲切的问候,
NIEK
编辑: 目前我有以下查询:
SELECT [Toets Korrelverdeling (Algemeen) 4/16].DagrapportCivielId, [Toets Korrelverdeling (Algemeen) 4/16].PartijID, [Toets Korrelverdeling (Algemeen) 4/16].PartijJaar, [Toets Korrelverdeling (Algemeen) 4/16].DatumProef, [Toets Korrelverdeling (Algemeen) 4/16].Partijnummer, [Toets Korrelverdeling (Algemeen) 4/16].Werknummer, [Toets Korrelverdeling (Algemeen) 4/16].BrekerID, [Toets Korrelverdeling (Algemeen) 4/16].Projectdag, [Toets Korrelverdeling (Algemeen) 4/16].ton, [Toets Korrelverdeling (Algemeen) 4/16].ProductID, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[Conclusie Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[Voldoet algemeen ja/nee], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[Conclusie Verklaard], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[Voldoet Verklaard ja/nee], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].Claatste7, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[ToetsLaatstse7 Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].ToetsLaatstse7, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].Claatste11, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[ToetsLaatstse11 Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].ToetsLaatstse11, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].Claatste12, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[ToetsLaatstse12 Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].ToetsLaatstse12, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].Claatste16, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[ToetsLaatstse16 Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].ToetsLaatstse16, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].Claatste18, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[ToetsLaatstse18 Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].ToetsLaatstse18, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].Claatste25, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[ToetsLaatstse25 Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].ToetsLaatstse25, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].Claatste45, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[ToetsLaatstse45 Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].ToetsLaatstse45, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].Claatste77, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[ToetsLaatstse77 Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].ToetsLaatstse77, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].Claatste105, [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].[ToetsLaatstse105 Algemeen], [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].ToetsLaatstse105 FROM [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting] LEFT JOIN [Toets Korrelverdeling (Algemeen) 4/16] ON [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting].DagrapportCivielId = [Toets Korrelverdeling (Algemeen) 4/16].DagrapportCivielId LIMIT 15;
但这不会让我计算出例如ToetsLaatstse7 Algemeen的总和。
答案 0 :(得分:0)
在您的SQL查询中,您可以使用
SELECT SQL_CALC_FOUND_ROWS .... LIMIT 15;
查询将返回15行结果,还有一行数据包含您应该没有LIMIT子句的结果总数。
答案 1 :(得分:0)
您可以在父查询中添加另一个选择计数(*)查询以获取总行数。
试试这个:
SELECT
TOP 25
TK_A.DagrapportCivielId,
TK_A.PartijID,
TK_S.[ToetsLaatstse105 Algemeen],
TK_S.ToetsLaatstse105,
(SELECT count(*) FROM [Toets Korrelverdeling (Algemeen) 4/16 Samenvatting] as tb1
LEFT JOIN [Toets Korrelverdeling (Algemeen) 4/16] as Tb2 ON Tb1.DagrapportCivielId = Tb2.DagrapportCivielId) AS total_Rows
FROM
[Toets Korrelverdeling (Algemeen) 4/16 Samenvatting] as TK_S
LEFT JOIN
[Toets Korrelverdeling (Algemeen) 4/16] as TK_A ON TK_S.DagrapportCivielId = TK_A.DagrapportCivielId;
答案 2 :(得分:0)
如果您可以创建一个新的SQL语句来返回您要查找的数据,例如(Count(PartijID),Sum(PartijJaar),或者),并将这些新字段命名为与原始查询相同(选择Count(PartijID)作为PartijID等),然后将UNION指向您的其他查询,将其命名为该记录显示在顶部 - 然后您对整个表的摘要始终是返回的第一条记录。