sql >> データベース >  >> RDS >> Mysql

データを分割するためのクエリ

    @アニ; Hiveには4つの四半期(1、2、3、4)を作成するための階層クエリがないため、そのための小さなテーブルを作成します。次に、ims_patient_activity_diagnosisテーブルに存在するすべてのpatient_id、年、月を取得します。最後に、考えられるすべての患者ID、年、四半期(1、2、3、4)に正しく参加しました。 IDまたは年または四半期が正しい結合に存在しない場合、そのID、年、および四半期のアクティビティはありません。これらの行にactivity=0を割り当てます。また、テーブルにさらに患者IDがあるかどうかをテストするために、patient id=200を挿入しました。お役に立てれば。ありがとう。

    create table dbo.qtrs(month int);
    insert into qtrs  values (1),(2),(3),(4);
    
    select DISTINCT NVL(ims.id, qtr.id) as patient_id,
    qtr.year as year,
    qtr.month as month,
    CASE WHEN ims.id > 0 THEN 1 ELSE 0 END as activity  
    from sandbox_grwi.ims_patient_activity_diagnosis ims
    right join (select distinct ims.id,YEAR(ims.month_dt) as year,qtrs.month from sandbox_grwi.ims_patient_activity_diagnosis ims join dbo.qtrs qtrs) qtr 
    on (ims.id=qtr.id and YEAR(ims.month_dt)=qtr.year and INT((MONTH(month_dt)-1)/3)+1=qtr.month)
    sort by patient_id, year, month;
    
    Sample Result:
    p_id    year    month   activity
    100     2012    1       1
    100     2012    2       0
    100     2012    3       0
    100     2012    4       0
    100     2013    1       1
    100     2013    2       1
    100     2013    3       1
    100     2013    4       0
    100     2014    1       1
    100     2014    2       1
    100     2014    3       0
    100     2014    4       1
    100     2015    1       1
    100     2015    2       0
    100     2015    3       1
    100     2015    4       1
    100     2016    1       0
    100     2016    2       1
    100     2016    3       0
    100     2016    4       1
    200     2012    1       1
    200     2012    2       0
    200     2012    3       0
    200     2012    4       0
    200     2013    1       0
    200     2013    2       1
    200     2013    3       0
    200     2013    4       0
    
    
    additional sample data:
    insert into sandbox_grwi.ims_patient_activity_diagnosis values
    (200, '2012-03-01'), 
    (200, '2013-04-01'); 
    



    1. Djangoインポート-エクスポートインポート重複キー値がエラーに違反しています

    2. PostgreSQL8.3以降の全文検索

    3. PostgreSQLでの一括/バッチ更新/アップサート

    4. データローカルファイルのロードMySQL/PHPの問題