Sql server 如何显示特定日期的输出?

Sql server 如何显示特定日期的输出?,sql-server,coldfusion,Sql Server,Coldfusion,我想在每个月的第一天显示下面的代码。 因此,四月份它将有自己的“显示\计数\待处理\外部” 一旦5月1日到达,它将显示一个新的“display\u count\u pending\u outer”。 在图片中,我想每个月1号展示一次 <cfquery datasource ="Intranet" name="GetDeptSubmissions">SELECT * FROM CSEReduxResponses</cfquery> <cfquery dbtype="q

我想在每个月的第一天显示下面的代码。 因此,四月份它将有自己的“显示\计数\待处理\外部” 一旦5月1日到达,它将显示一个新的“display\u count\u pending\u outer”。 在图片中,我想每个月1号展示一次

<cfquery datasource ="Intranet" name="GetDeptSubmissions">SELECT * FROM CSEReduxResponses</cfquery>
<cfquery dbtype="query" name="GetPending">SELECT * FROM GetDeptSubmissions WHERE status = 1 AND execoffice_status = 0</cfquery>
<cfquery dbtype="query" name="GetApproved">SELECT * FROM GetDeptSubmissions WHERE status = 1 AND execoffice_status = 1</cfquery>
<cfquery dbtype="query" name="GetDenied">SELECT * FROM GetDeptSubmissions WHERE status = 1 AND execoffice_status = 2</cfquery>


<cfoutput>

    <div>
        <div class="display_count pending_outer">
            <div class="display_count_desc pending_inner">Pending</div>
            <cfif GetPending.RecordCount gt 0><a href="cse_execoffice_pending.cfm"></cfif>
                <span class="display_count_number">#GetPending.RecordCount#</span>
            <cfif GetPending.RecordCount gt 0></a></cfif>
        </div><!--- /div class="display_count" --->
        <div class="display_count approved_outer">
            <div class="display_count_desc approved_inner">Approved *</div>
            <cfif GetApproved.RecordCount gt 0><a href="cse_execoffice.cfm?approved"></cfif>
                <span class="display_count_number">#GetApproved.RecordCount#</span><br>
            <cfif GetApproved.RecordCount gt 0></a></cfif>
        </div><!--- /div class="display_count" --->
        <div class="display_count denied_outer">
            <div class="display_count_desc denied_inner">Denied</div>
            <cfif GetDenied.RecordCount gt 0><a href="cse_execoffice.cfm?denied"></cfif>
                <span class="display_count_number">#GetDenied.RecordCount#</span><br>
            <cfif GetDenied.RecordCount gt 0></a></cfif>
        </div><!--- /div class="display_count" --->
    </div>
</cfoutput>
从CSEREDUX响应中选择*
从GetDeptSubmissions中选择*,其中状态为1,执行办公室状态为0
从GetDeptSubmissions中选择*,其中status=1,execoffice_status=1
从GetDeptSubmissions中选择*,其中状态为1,ExecutOffice_状态为2
悬而未决的
批准*
否认
现在是这样的

我认为您在数据方面走了很长的路。现在,您正在选择该表中的所有内容,然后根据
其中status=1和execoffice\u status的值对其进行筛选

相反,由于您所追求的是与每个
execoffice\u状态相关联的记录总数,因此您可以这样编写查询:

SELECT 
    COUNT(*) AS total_count, execoffice_status
FROM 
    CSEReduxResponses
WHERE 
    status = 1
GROUP BY 
    execoffice_status
对于表中的
execoffice\u status
的每个唯一值,应返回1条记录。如果这个查询到目前为止是正确的,那么接下来需要做的是


您可能需要做的就是在
WHERE
子句中添加一个
orderby
子句和一个日期范围,以进一步过滤结果。使用CF输出这些数据在这一点上应该是轻而易举的事。

当您运行发布的代码时会发生什么?我认为您没有提供足够的信息来获得好的答案。我建议您查看TSQL函数
DatePart
。例如
selectdatepart(day,GETDATE())
返回9(4月9日)。您的查询可能类似于
SELECT*FROM GetDeptSubmissions,其中status=1,execoffice\u status=0,DatePart(day,YourDateColumnHere)=1
现在它将所有月份的所有数据发布到一个分区中现在我们看到它显示了什么,它应该显示什么?我希望它每个月都显示,例如,如果它的5月1日,它将创建一个新的div。因此,每个div每月一个,每个div将有每个div的日期。非常感谢!有没有一种方法可以让WHERE子句中的日期不被硬编码并按系统日期进行?现在我有了它(execoffice_date介于'2014-04-1'和'2014-11-3'之间),SQL Server使用getDate()返回当前数据库服务器的日期和时间。您可能需要将其格式化以匹配存储的日期格式。谢谢,尽管我认为这不会解决我的问题。根据我所做的更改,ColdFusion还具有许多函数,可用于根据当前日期确定开始和结束日期变量。谷歌“coldfusion日期函数”查看它们是什么。
SELECT 
    CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4)) AS theDate,
    COUNT(*) AS total_count, 
    execoffice_status
FROM 
    CSEReduxResponses
WHERE 
    status = 1
GROUP BY 
    CAST(MONTH(date) AS VARCHAR(2)) + '-' + CAST(YEAR(date) AS VARCHAR(4))
    execoffice_status