2016-03-22 9 views
0

で350行を持っているとき、私は次のクエリArray_accumたちはテーブル

select distinct throttle_id, array_accum(param) over (partition by throttle_id) as script_exclude from throttle_data where exclude = 't' and valve_type = 513 and throttle_id = 1270571881 

を使用していると私はscript_excludeフィールドにNULL値をPARAMで私が持っている

サンプル値を取得していPostgresのSQLでNULL値を返します列は、

航空運賃/価格/ launch_0tc.wql航空運賃/価格/ launch_0xp.wql航空運賃/価格/ launch_0xp_down.wql航空運賃/価格/ launch_0xp_up.wql

です

行数は351です。

これらすべての価値をどのように得ることができるかアドバイスしてください。

よろしく、 サチンジャイナ

+1

'array_accum()'とは何ですか?これは標準のPostgres関数ではありません。コンマ区切りのリストを望むなら、なぜ 'string_agg()'を使わないのでしょうか?また、あなたが 'distinct 'をウィンドウ関数と一緒に使う方法は、あなたが実際に' group by'を通常の集合体 –

答えて

0

代わりに以下のことを試してみてください。

select * from throttle_data 
WHERE exclude = 't' 
     and valve_type = 513 and throttle_id = 1270571881; 

を実際に集約されるかを確認するには:

select throttle_id, array_agg(param) as script_exclude 
    from throttle_data where exclude = 't' 
     and valve_type = 513 and throttle_id = 1270571881 
group by throttle_id; 

その場合には、まだ試行し、nullを返します。

これで行が返されない場合は、where句の条件に問題があります。

関連する問題