0

次のようなSQLクエリがあります。

SELECT CONVERT(varchar, DATEPART(month, titlStreaming)) + '/' + CONVERT(varchar, DATEPART(day, titlStreaming)) + '/' + CONVERT(varchar, DATEPART(year, titlStreaming)) AS [Day], 
COUNT(titlTitleID) AS Total 
FROM Title
GROUP BY DATEPART(year, titlStreaming), DATEPART(month, titlStreaming), DATEPART(day, titlStreaming)
ORDER BY DATEPART(year, titlStreaming) DESC, DATEPART(month, titlStreaming) DESC, DATEPART(day, titlStreaming) DESC

通常、次のようなテーブルが返されます。

Day       |   Total
--------------------
4/23/2013 |       2
         ...
NULL      |   14234

私がやりたいことは、返されるNULL値を持つ行を除外することです。は計算列であるためDay、単純にWHERE Day IS NOT NULL. SQL に関する私の知識が不足していることは認めます。そのため、助けや提案をいただければ幸いです。

4

2 に答える 2

1

すべての日付部分が titlStreaming に依存している限り、titleStreaming の where 条件で十分です。

....
From Title
where titlStreaming is not null
Group by ....
于 2013-04-24T15:32:49.960 に答える
1

サブクエリを使用できます。

select *
from (SELECT CONVERT(varchar, DATEPART(month, titlStreaming)) + '/' + CONVERT(varchar, DATEPART(day, titlStreaming)) + '/' + CONVERT(varchar, DATEPART(year, titlStreaming)) AS [Day], 
             COUNT(titlTitleID) AS Total 
     FROM Title
     GROUP BY DATEPART(year, titlStreaming), DATEPART(month, titlStreaming), DATEPART(day, titlStreaming)
    ) t
where [day] is not null
ORDER BY [day] DESC
于 2013-04-24T15:29:45.813 に答える