0

次のクエリは、AcquisitionDate が RequestDate から 60 日以内にあるリクエストの数と、その他のさまざまな列を返します。

RequestDate から 60 日以内の一意のAcquisitionDatesの数をカウントするようにコードを変更するにはどうすればよいですか? COUNT DISTINCT を使用しようとしましたが、この場合の使用方法がわかりませんでした。

SELECT SceneTable.PATH, SceneTable.ROW, SceneTable.ROW, SceneTable.UlLat,
       SceneTable.UlLon, SceneTable.UrLat, SceneTable.UrLon, SceneTable.LlLat, 
       SceneTable.LlLon, SceneTable.LrLat, SceneTable.LrLon, 
      Sum(Iif((DateDiff("d",[AcquisitionDate],[RequestDate])<60),1,0)) AS Expr1, 
       Count(RequestTable.RequestID) AS CountOfRequestID
FROM ((SceneTable INNER JOIN 
       SceneAcquisitionTable 
           ON SceneTable.SceneID = SceneAcquisitionTable.SceneID) INNER JOIN
       UserSceneAcquisitionTable 
           ON SceneAcquisitionTable.SceneAcquisitionID = 
              UserSceneAcquisitionTable.SceneAcquisitionID) INNER JOIN 
       RequestTable 
           ON UserSceneAcquisitionTable.UserSceneAcquisitionID = 
              RequestTable.UserSceneAcquisitionID
GROUP BY SceneTable.PATH, SceneTable.ROW, SceneTable.UlLat, SceneTable.UlLon, 
         SceneTable.UrLat, SceneTable.UrLon, SceneTable.LlLat, SceneTable.LlLon, 
         SceneTable.LrLat, SceneTable.LrLon

サンプル テーブルと期待される結果を次に示します。 サンプル テーブルと期待される結果を次に示します。

4

1 に答える 1

0

Access で COUNT DISTINCT を実装する一般的な方法については、このソリューションを参照してください。

于 2012-05-25T20:17:28.200 に答える