Search Postgresql Archives

Re: Database/Table Design for Global Country Statistics

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



SELECT
  f.year,
  f.id,
  c.name,
  (f.value / p.value) AS per_capita
FROM
  fish_catch AS f
JOIN
  pop_total AS p
USING
   (year, id)
INNER JOIN
   countries AS c ON f.id = c.id
ORDER BY
   (year = 2005), value, name


Seems to never end.... Why is redesigning tables so difficult?! :-))

And furthermore, it is really difficult to grab and formulate the problem that I have now. Let's see:

The above SQL leads to a correct SQL result; but the "(year = 2005)" changes the "pattern" of the output completely. Before, without sorting by a specific year, it would look like this:

year	value	name
1995	NULL	Afghanistan
2000	NULL	Afghanistan
2005	NULL	Afghanistan
2000	2365	Albania
2005	2065	Albania
1995	1160	Albania
2000	113157	Algeria
2005	126259	Algeria
1995	105872	Algeria
2000	832		American Samoa
2005	3943	American Samoa
1995	152 	American Samoa

With specifying "ORDER BY (y_2005), value, name" I have this:

year	value	name
1995	0	Ethiopia
2000	0	Ethiopia
2000	0.5	Bosnia and Herzegovina
1995	0.5	Bosnia and Herzegovina
2000	0.5	Christmas Island
1995	0.5	Christmas Island
....
2005	0	Bosnia and Herzegovina
2005	0	Ethiopia
2005	0.5	Christmas Island
2005	0.5	Cocos (Keeling) Islands

But what I would need is this:

1995	0.5	Bosnia and Herzegovina
2000	0.5	Bosnia and Herzegovina
2005	0	Bosnia and Herzegovina
1995	0	Ethiopia
2000	0	Ethiopia
2005	0	Ethiopia
1995	0.5	Christmas Island
2000	0.5	Christmas Island
2005	0.5	Christmas Island

Looks similar to the first result, but all content would be sorted by the year 2005 without separating it from the other years.

Hmmm.... don't know if this is clear...

Most grateful for any feedback,

Stef





---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux