Re: Query to return normalized floats
От | Kip Warner |
---|---|
Тема | Re: Query to return normalized floats |
Дата | |
Msg-id | 1460622095.15278.1.camel@thevertigo.com обсуждение исходный текст |
Ответ на | Re: Query to return normalized floats (Kip Warner <kip@thevertigo.com>) |
Ответы |
Re: Query to return normalized floats
|
Список | pgsql-novice |
Hey Andreas, I figured it out with the help of some folks on IRC. It turns out the view schema was almost correct. It needed some adjustments, in particular safe handling of divide by zero errors. CREATE VIEW my_view AS SELECT id, COALESCE((col1 - (SELECT MIN(col1) FROM my_table)) / NULLIF((SELECT MAX(col1) FROM my_table) - (SELECT MIN(col1)FROM my_table), 0), 0) AS col1_norm, COALESCE((col2 - (SELECT MIN(col2) FROM my_table)) / NULLIF((SELECT MAX(col2) FROM my_table) - (SELECT MIN(col2)FROM my_table), 0), 0) AS col2_norm, COALESCE((col3 - (SELECT MIN(col3) FROM my_table)) / NULLIF((SELECT MAX(col3) FROM my_table) - (SELECT MIN(col3)FROM my_table), 0), 0) AS col3_norm FROM my_table GROUP_BY id; Since my_table contains hundreds of thousands of rows, it was also suggested to me to create indices for every column in my_table. e.g. CREATE INDEX col1_index ON my_table(col1); CREATE INDEX col2_index ON my_table(col2); CREATE INDEX col3_index ON my_table(col3); Hopefully that will not only work, but will also be efficient too. -- Kip Warner -- Senior Software Engineer OpenPGP encrypted/signed mail preferred http://www.thevertigo.com
Вложения
В списке pgsql-novice по дате отправления: