0

私はSQLServer2008 R2 Standardを使用していますが、SQLServerはまだ非常に使い慣れています。

ax(測定値)に、日時の48間隔より長くフラットになるトレンドデータがある場合を見つけようとしています。

前もって感謝します。

私の基本的なクエリ構造は

SELECT sites.site_name, 
       measurements.measurement_name, 
       trend_data_temp.trend_data_avg, 
       trend_data_temp.trend_data_time 
FROM   sites 
       INNER JOIN group_sites 
               ON sites.site_id = group_sites.site_id 
       INNER JOIN groups 
               ON group_sites.group_id = groups.group_id 
       INNER JOIN measurements 
               ON sites.site_id = measurements.site_id 
       INNER JOIN trend_data 
               ON measurements.measurement_id = trend_data.measurement_id 
       INNER JOIN trend_data_temp 
               ON measurements.measurement_id = trend_data_temp.measurement_id 
GROUP  BY sites.site_name, 
          measurements.measurement_name, 
          trend_data_temp.trend_data_avg, 
          trend_data_temp.trend_data_time 
ORDER  BY sites.site_name, 
          measurements.measurement_name 
4

1 に答える 1

0

入力データと出力データの輪郭がない少し暗闇の中で、しかし多分あなたはこのようなものが必要です(テストされていません)

   SELECT 
           sites.site_name, 
           measurements.measurement_name, 
           trend_data_temp.trend_data_avg, 
           [occurances] = count(trend_data_temp.trend_data_time) 
    FROM   sites 
           INNER JOIN group_sites 
                   ON sites.site_id = group_sites.site_id 
           INNER JOIN groups 
                   ON group_sites.group_id = groups.group_id 
           INNER JOIN measurements 
                   ON sites.site_id = measurements.site_id 
           INNER JOIN trend_data 
                   ON measurements.measurement_id = trend_data.measurement_id 
           INNER JOIN trend_data_temp 
                   ON measurements.measurement_id = trend_data_temp.measurement_id 
    GROUP  BY 
           sites.site_name, 
           measurements.measurement_name, 
           trend_data_temp.trend_data_avg
    HAVING count(trend_data_temp.trend_data_time) >=48
于 2013-01-21T21:37:58.943 に答える