Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Correlated subquery in SELECT clause, and rewritten for Netezza
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
CREATE TABLE visits (user_id varchar(4), visit_date date); INSERT INTO visits (user_id, visit_date) VALUES ('1234','2017-11-02') ,('1234','2017-09-30') ,('1234','2017-09-03') ,('1234','2017-08-21') ,('9876','2017-10-03') ,('9876','2017-07-20') ,('5545','2017-09-15') ; select user_id ,case when exists (select 1 from visits vcor where visits.user_id = vcor.user_id and '2017-11-17'-vcor.visit_date <=30) then 1 else 0 end as last_30 ,case when exists (select 1 from visits vcor where visits.user_id = vcor.user_id and '2017-11-17'-vcor.visit_date >=31 and '2017-11-17'-vcor.visit_date <=60) then 1 else 0 end as between_31_60 ,case when exists (select 1 from visits vcor where visits.user_id = vcor.user_id and '2017-11-17'-vcor.visit_date >=61 and '2017-11-17'-vcor.visit_date <=90) then 1 else 0 end as between_61_90 from visits group by user_id order by user_id ; SELECT user_id ,CASE WHEN SUM(CASE WHEN '2017-11-17'-visit_date <=30 then 1 else 0 end) >=1 THEN 1 ELSE 0 END as last_30 ,CASE WHEN SUM(CASE WHEN '2017-11-17'-visit_date >=31 and '2017-11-17'-visit_date <=60 then 1 else 0 end) >=1 THEN 1 ELSE 0 END as btwn_31_60 ,CASE WHEN SUM(CASE WHEN '2017-11-17'-visit_date >=61 and '2017-11-17'-visit_date <=90 then 1 else 0 end) >=1 THEN 1 ELSE 0 END as btwn_31_60 FROM visits GROUP BY user_id order by user_id
absolute service time: 0,4 sec
edit mode
|
history
|
discussion
user_id
last_30
between_31_60
between_61_90
1
1234
1
1
1
2
5545
0
0
1
3
9876
0
1
0
user_id
last_30
btwn_31_60
btwn_31_60
1
1234
1
1
1
2
5545
0
0
1
3
9876
0
1
0