使用count函数我的SQL查询出现问题。
当我没有内连接时,它会有55行。当我将内部联接添加到我的查询中时,它会增加很多内容。它突然变成了102排。
这是我的SQL查询:
SELECT COUNT([fmsStage].[dbo].[File].[FILENUMBER])
FROM [fmsStage].[dbo].[File]
INNER JOIN [fmsStage].[dbo].[Container]
ON [fmsStage].[dbo].[File].[FILENUMBER] = [fmsStage].[dbo].[Container].[FILENUMBER]
WHERE [fmsStage].[dbo].[File].[RELATIONCODE] = 'SHIP02'
AND [fmsStage].[dbo].[Container].DELIVERYDATE BETWEEN '2016-10-06' AND '2016-10-08'
GROUP BY [fmsStage].[dbo].[File].[FILENUMBER]
另外,我必须在TOP 1
语句中执行SELECT
,因为它返回51行,其中包含随机数。 (它们可能不是随机的,但我无法弄清楚它们是什么。)
我需要做些什么才能计算[fmsStage].[dbo].[file].[FILENUMBER]
的行数?
答案 0 :(得分:2)
首先,您的查询会更加清晰:
SELECT COUNT(f.[FILENUMBER])
FROM [fmsStage].[dbo].[File] f INNER JOIN
[fmsStage].[dbo].[Container] c
ON v.[FILENUMBER] = c.[FILENUMBER]
WHERE f.[RELATIONCODE] = 'SHIP02' AND
c.DELIVERYDATE BETWEEN '2016-10-06' AND '2016-10-08';
不需要GROUP BY
。否则,每个文件编号只需要一行,这看起来并不像总计数那么有用。
注意:您可能需要COUNT(DISTINCT f.[FILENUMBER])
。你的问题没有提供足够的信息来做出判断。
答案 1 :(得分:0)
只需删除GROUP BY子句
即可for (i in list) {
i$x <- as.Date(i$x)
}