用于列出钓鱼排名的复杂MySQL声明?

时间:2014-01-14 06:57:22

标签: mysql field addition

我正在尝试使用多个表格制作排名图表。一个会议记录会议,每个会议计为5分,另一个表跟踪比赛结果。这是一个钓鱼俱乐部网站。

到目前为止,我有以下内容,可以按顺序显示会面点,但比赛结果与之分开。我想找到一个虽然复杂的SQL语句来列出当前的排名。

我需要显示我可以从不同的桌子中分开的垂钓者姓名,然后每个月的5个点与结果表中的锦标赛结果金额一起列出,这些都是最终列出所有锦标赛的总数和会议。

SELECT aid, sum(here*5) as total 
FROM rollcall GROUP BY aid ORDER BY total DESC

SELECT aid, weight, weight-penalty as fweight 
FROM `results` where tid=2 order by fweight desc

所以一个例子是:

  place angler  JAN  FEB MARCH ... Total Points

  1 name1 5 50 5 45  0 38       143

  2 name2 5 49 5 47  5 31       142

...

这一点是否清楚?

1 个答案:

答案 0 :(得分:0)

如果你构建这样的查询怎么办?

SELECT aid, 
sum(SELECT count(1) from meetings WHERE MONTH(columndatetime) = 1 * 5) AS JAN,
sum(SELECT count(1) from meetings WHERE MONTH(columndatetime) = 2 * 5) AS FEB,
/
 -- add same logic to the rest of the months
/
sum(SELECT count(1) from meetings WHERE YEAR(columndatetime) = 2013 * 5) as total 
FROM rollcall GROUP BY aid ORDER BY total DESC

columndatetime是您的列的名称,其中包含会议的日期和时间等...

最后一个全年都需要。

这可以帮到你吗?