blob: 4e274e579e1c445775404061a7baeffa703582d6 [file] [log] [blame]
Yingyi Bu391f09e2015-10-29 13:49:39 -07001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20drop database rares03 if exists;
21create database rares03;
22
23use rares03;
24
25
26create type rares03.UserType as
27{
28 uid : int32,
29 name : string,
30 lottery_numbers : {{int32}}
31}
32
33create type rares03.VisitorType as
34{
35 vid : int32,
36 name : string,
37 lottery_numbers : {{int32}}
38}
39
40create nodegroup group1 if not exists on
Ian Maxonf7b64532015-12-09 17:28:18 -080041 asterix_nc1,
42 asterix_nc2
Yingyi Bu391f09e2015-10-29 13:49:39 -070043;
44create table Users(UserType) primary key uid on group1;
45
46create table Visitors(VisitorType) primary key vid on group1;
47
Ian Maxonf7b64532015-12-09 17:28:18 -080048write output to asterix_nc1:"/tmp/rares03.adm"
Yingyi Bu391f09e2015-10-29 13:49:39 -070049select element {'uid':user.uid,'tokens':tokens}
50from Users as user
51with tokens as (
52 select element i
53 from user.lottery_numbers as lottery_number,
54 (
55 select element item
56 from Users as user,
57 user.lottery_numbers as lottery_number
58 group by lottery_number as item
59 with count as rares03.count(user)
60 order by count desc
61 ) as token at i
62 where (lottery_number = token)
63 order by token
64 )
65;