Postgresql
一句話返回滿足條件的欄位名和行數
我在 postgres 中有一個包含 10 個欄位的表,需要檢查其中 3 個欄位中的某些值,然後返回滿足條件的欄位名稱和每個欄位中的行數。
所以它是這樣的:
select count(*) from table where field1 ilike '%E+%' OR field2 ilike '%E+%' OR field3 ilike '%E+%'
然後返回滿足條件的欄位和行數(我不知道該怎麼做)
您可以為此使用條件聚合:
select count(*), count(*) filter (where field1 ilike '%E+%') as field1_matches, count(*) filter (where field2 ilike '%E+%') as field2_matches, count(*) filter (where field3 ilike '%E+%') as field3_matches from the_table where field1 ilike '%E+%' OR field2 ilike '%E+%' OR field3 ilike '%E+%'