SQL 服务器 CE 计数分组依据
SQL Server CE count group by
我想创建一个 SQL 查询来为我而不是在剃须刀代码中进行计数,我想计算我的数据库中不同日期的数量。
我发现 SQL 服务器 CE 不支持 count(distinct column_name)
而是使用 group by
将是解决方案,但由于某种原因我无法使其工作,我是什么做错了吗?
SELECT COUNT(date) as date
FROM Test
GROUP BY date
这只是计算了我数据库中的每个日期,而不是像下面这样写出来的不同日期
var totalcount = 0;
foreach (var c in db.Query(query))
{
var ttotalcount = c.date;
totalcount += ttotalcount;
}
<a>@totalcount<a>
也许:
SELECT COUNT(date) as [date]
FROM Test
GROUP BY date
Date
是保留字,需要加上[]
您混淆了 SQL 日期的三种用法。我假设原始字段名为日期。我还假设每条记录都填充了日期字段。
SELECT COUNT(*) as numDates FROM Test GROUP BY date
已更新
您的查询要求每个不同日期的计数。如果你想知道你有多少,你需要把它们加起来。您可以通过将查询与 SUM 查询嵌套来执行此操作。然后使用一个额外的列 defulted 到“1”,以允许总结行数(这应该是您的不同日期)。日期也可以是保留字。您可能想尝试避免使用它作为列名。
SELECT SUM(New_Row) as dateSUM from (
SELECT COUNT(date) as dateCount, 1 as New_Row FROM Test GROUP BY date
) a
我想创建一个 SQL 查询来为我而不是在剃须刀代码中进行计数,我想计算我的数据库中不同日期的数量。
我发现 SQL 服务器 CE 不支持 count(distinct column_name)
而是使用 group by
将是解决方案,但由于某种原因我无法使其工作,我是什么做错了吗?
SELECT COUNT(date) as date
FROM Test
GROUP BY date
这只是计算了我数据库中的每个日期,而不是像下面这样写出来的不同日期
var totalcount = 0;
foreach (var c in db.Query(query))
{
var ttotalcount = c.date;
totalcount += ttotalcount;
}
<a>@totalcount<a>
也许:
SELECT COUNT(date) as [date]
FROM Test
GROUP BY date
Date
是保留字,需要加上[]
您混淆了 SQL 日期的三种用法。我假设原始字段名为日期。我还假设每条记录都填充了日期字段。
SELECT COUNT(*) as numDates FROM Test GROUP BY date
已更新 您的查询要求每个不同日期的计数。如果你想知道你有多少,你需要把它们加起来。您可以通过将查询与 SUM 查询嵌套来执行此操作。然后使用一个额外的列 defulted 到“1”,以允许总结行数(这应该是您的不同日期)。日期也可以是保留字。您可能想尝试避免使用它作为列名。
SELECT SUM(New_Row) as dateSUM from (
SELECT COUNT(date) as dateCount, 1 as New_Row FROM Test GROUP BY date
) a