Advertisement
Guest User

Untitled

a guest
Nov 6th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- 1
  2. select cname
  3. from city
  4. where population > 2000000
  5.  
  6. -- 2
  7. select country
  8. from city as c
  9. where exists (
  10.     select cname
  11.     from disaster
  12.     where dyear >= 1980 and
  13.           dyear <= 1990 and
  14.           casualties < 50 and
  15.           cname = c.cname
  16.     )
  17.  
  18. (select cname, etype, dyear
  19.         from disaster
  20.         where dyear<(date_part('year', current_date) - 100))
  21. -- 3
  22. select *
  23. from disaster a
  24. where
  25.     a.dyear<(date_part('year', current_date) - 100) and
  26.     not exists (
  27.         select *
  28.         from disaster b
  29.         where a.dyear + 100 >= b.dyear and
  30.         a.cname = b.cname and
  31.         a.dyear < b.dyear
  32.       )
  33.      
  34. -- 4
  35. select a.cname, count(a.cname)
  36.     from disaster a
  37.     where a.dyear > (date_part('year', current_date) - 50)
  38.     group by a.cname
  39.     having count(a.cname) = (
  40.         select max(a.max)
  41.         from    (select a.cname, count(a.cname) as max
  42.             from disaster a
  43.             where a.dyear > (date_part('year', current_date) - 50)
  44.             group by a.cname) a
  45.         )
  46.  
  47. -- 5
  48. select a.country
  49.     from (select *, sum::float / population as min
  50.             from (select cname, sum(casualties)
  51.             from prediction
  52.             group by cname) x natural join city) a
  53.     where a.min = (
  54.         select min(b.min)
  55.         from    (select min(sum::float / population) as min
  56.             from (select cname, sum(casualties)
  57.             from prediction
  58.             group by cname) x natural join city) b
  59.         )
  60.  
  61. -- 6
  62. select a.cname
  63. from city natural join disaster as a
  64. group by a.cname
  65. having count(distinct etype) =
  66.     (select count(distinct etype)
  67.     from event)
  68.  
  69. -- 7
  70. select *
  71. from disaster as d natural join
  72.     (select *
  73.     from (select a.etype, a.provider, b.provider, (a.percent + b.percent)::float / 200 as sum
  74.         from measures a, measures b
  75.         where a.mcost + b.mcost < 1000000 and a.provider < b.provider) a
  76.     where a.sum =
  77.             (select max((a.percent + b.percent)::float / 200) as sum
  78.             from measures a, measures b
  79.             where a.mcost + b.mcost < 1000000 and a.provider < b.provider)) as c
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement