Re: What is the alternate of FILTER below Postgresql 9.4 ?

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: What is the alternate of FILTER below Postgresql 9.4 ?
Дата
Msg-id CAFj8pRDrTaGC_Bsa-bfadts7b2z9EeFdH=Pe2Ki7XpdsvGMKuQ@mail.gmail.com
обсуждение исходный текст
Ответ на What is the alternate of FILTER below Postgresql 9.4 ?  (Arup Rakshit <aruprakshit@rocketmail.com>)
Ответы Re: What is the alternate of FILTER below Postgresql 9.4 ?  (Arup Rakshit <aruprakshit@rocketmail.com>)
Список pgsql-general
Hi

2015-02-24 17:02 GMT+01:00 Arup Rakshit <aruprakshit@rocketmail.com>:
Hi,

Please look at my query :

[shreyas@rails_app_test (master)]$ rails db
psql (9.4.1)
Type "help" for help.

app_development=# select id, location, name from people;
 id | location | name
----+----------+------
  2 | X        | foo
  3 | X        | foo
  4 | Y        | foo
(3 rows)

app_development=# SELECT COUNT(id) FILTER(WHERE lower(location) != 'x') AS Non_X_loc, COUNT(id) FILTER (WHERE lower(location) = 'x') AS X_loc FROM "people";
 non_x_loc | x_loc
-----------+-------
         1 |     2
(1 row)

This *FILTER* method is available from 9.4, How can I get the same output below 9.4 version ?


use SQL CASE

SELECT COUNT(CASE lower(location) <> 'x' THEN 1 END), ...

attention: "lower" function is slow - so don't use it if it is not necessary

Regards

Pavel Stehule
 
--
================
Regards,
Arup Rakshit
================
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

--Brian Kernighan


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

В списке pgsql-general по дате отправления:

Предыдущее
От: Arup Rakshit
Дата:
Сообщение: What is the alternate of FILTER below Postgresql 9.4 ?
Следующее
От: Andreas Kretschmer
Дата:
Сообщение: Re: What is the alternate of FILTER below Postgresql 9.4 ?