-1
私は、年間の大学スポーツイベントへのチケット売り上げの合計をチャート化し、データベースに存在する他のイベントの中でランク付けする2つの変数を含むチャートを作成しようとしています。私はランクを各列の個々の年に対応させる方法を考え出すのに苦労しています。ここで サブクエリに結びついたランキングをMySQLに返すにはどうすればよいですか?
は私が始まるんだよ:SELECT
Year as year,
School,
`Ticket Sales`,
(SELECT
COUNT(School)+1
FROM schools
WHERE Year = 2016 AND `Ticket Sales` > (
SELECT `Ticket Sales`
FROM schools
WHERE School = "College" AND Year = 2016)
) as Rank
FROM schools
WHERE School = "College"
ORDER BY Year DESC
そして、ここで私は戻ってきてるものだ( - 初年度のランクを - それは15与え気づくすべてのインスタンスに対して):
Year School Ticket Sales Rank
2016 College 29054868 15
2015 College 29586555 15
2014 College 26928635 15
2013 College 25888524 15
2012 College 23432735 15
2011 College 26467598 15
2010 College 18395654 15
2009 College 20711850 15
2008 College 17107971 15
2007 College 17287093 15
2006 College 15351891 15
2005 College 12767307 15
編集:明確にするには、ランクの下の数字は年ごとに異なるはずです。
SELECT Year,
School,
sum(`Ticket Sales`) as `Ticket Sales`,
Count(*) as Rank
FROM schools
WHERE School = "College"
GROUP BY Year,
School
ORDER BY Year DESC
はサンプル結果hereを参照してください:2015年の順位は、私は、これはあなたが達成しようとしているものであると信じてなど、
すべてのレコードに対して15を返すサブクエリとしてランクを選択しています。あなたを助けるために、いくつかのサンプルデータと期待される結果を教えてください。 –