web-dev-qa-db-ja.com

SQL Serverで現在の日時から過去7日間までの過去7日間のデータを取得する方法

こんにちは、データをロードするときにpentahoを使用してテーブルAのデータをSQLサーバーからMySQLにロードしていますSQLサーバーから最後の7日間のデータのみを取得する必要がありますタイムスタンプ

ここで私は以下のクエリを使用しましたが、5日間のデータしか取得していません
この問題で私を助けてください

select id,    
NewsHeadline as news_headline,    
NewsText as news_text,    
state,    
CreatedDate as created_on      
from News    
WHERE CreatedDate BETWEEN GETDATE()-7 AND GETDATE()
order by createddate DESC
27
SRI

次のようなものを試してください:

 SELECT id, NewsHeadline as news_headline, NewsText as news_text, state CreatedDate as created_on
 FROM News 
 WHERE CreatedDate >= DATEADD(day,-7, GETDATE())
25
SMA

過去7日間の毎日のデータがあるとは思わない。データが存在しない日は明らかに表示されません。

これを試して、過去7日間の各日のデータがあることを確認してください

SELECT DISTINCT CreatedDate
FROM News 
WHERE CreatedDate >= DATEADD(day,-7, GETDATE())
ORDER BY CreatedDate

編集-コメントからコピー

私は12月19日-1行のデータ、18-2行、17-3行、16-3行、15-3行、12-2行、11-4行、9-1行、8-1行を持っています

すべての日のデータがありません。それはあなたの問題であり、クエリではありません。今日-22日-クエリを実行すると、19日、18日、17日、16日、15日のデータのみが取得されます。 20日、21日、22日のデータはありません。

編集-データが利用可能な過去7日間のデータを取得するには、試してください

select id,    
NewsHeadline as news_headline,    
NewsText as news_text,    
state,    
CreatedDate as created_on      
from News    
WHERE CreatedDate IN (SELECT DISTINCT TOP 7 CreatedDate from News
order by createddate DESC)
6
Raj
select id,    
NewsHeadline as news_headline,    
NewsText as news_text,    
state,    
CreatedDate as created_on    
from News    
WHERE CreatedDate>=DATEADD(DAY,-7,GETDATE())

これが役立つことを願って、

select id,    
NewsHeadline as news_headline,    
NewsText as news_text,    
state,    
CreatedDate as created_on      
from News    
WHERE CreatedDate >= cast(dateadd(day, -7, GETDATE()) as date)
and CreatedDate < cast(GETDATE()+1 as date) order by CreatedDate desc
1
Raji

DATEADDおよびGETDATE関数は、MySQLデータベースでは機能しない場合があります。したがって、MySQLデータベースを使用している場合は、次のコマンドが役立ちます。

select id, NewsHeadline as news_headline,    
NewsText as news_text,    
state, CreatedDate as created_on    
from News    
WHERE CreatedDate>= DATE_ADD(CURDATE(), INTERVAL -3 DAY);

私はそれがあなたを助けることを願っています

1
Mukesh Chauhan

Pentaho DIを使用してそれを行いたい場合は、「Modified JavaScript」を使用して、以下の関数を記述します。

dateAdd(d1, "d", -7);  // d1 is the current date and "d" is the date identifier

以下の画像を確認してください:[現在の日付が2014年12月22日であると仮定]

enter image description here

それが役に立てば幸い :)

0
Rishu