我有一个充满统计数据库。建设奖励大厅mysql查询?
我知道如何做这样的事情来获得前10名账户有一定的统计...
SELECT money FROM accounts ORDER BY money DESC LIMIT 10
这将显示前10个账户的钱的统计数据。说如果我有10个不同的统计数据,有没有一种查询方法可以根据所有统计数据找出前十名球员的位置?或者它会涉及很多的查询,然后用我选择的语言来显示它?
感谢
我有一个充满统计数据库。建设奖励大厅mysql查询?
我知道如何做这样的事情来获得前10名账户有一定的统计...
SELECT money FROM accounts ORDER BY money DESC LIMIT 10
这将显示前10个账户的钱的统计数据。说如果我有10个不同的统计数据,有没有一种查询方法可以根据所有统计数据找出前十名球员的位置?或者它会涉及很多的查询,然后用我选择的语言来显示它?
感谢
你必须拿出一个顺序来排序他们,你可以多个排序添加到查询,但它可能不会给结果你想
SELECT money FROM accounts ORDER BY money DESC, points DESC LIMIT 10
然而,你可以想出一些评分系统,但这意味着很多疑问。至少,根据统计数据,这将是一个类似于你已经写过的数据。类似这样的:
$result = mysql_query('SELECT money, account_id FROM accounts ORDER BY money DESC LIMIT 100');
$accounts = array();
$points = mysql_num_rows($accounts);
while ($row = mysql_fetch_assoc($result)){
$accounts[$row['account_id']] += $points;
$points--;
}
并且对每个得分类型重复这一点。之后,根据点数排列数组,您将知道顶部列表。
是的,我想过这个,只是想知道是否可以用一个查询 – cgweb87 2012-01-03 09:54:51
您可以订购一个或多个字段。您也可以计算字段。
SELECT money FROM accounts ORDER BY money, balance, age, SUM(money + balance) DESC LIMIT 10
请通过'查询,将制定出的十强选手基于所有statistics'位置更具体的 - 你的意思,你要评估等级之外的谁是每个顶部统计结合?就像如果帐户1是10/10的统计数据的顶部,他是在上面,其次是谁是9/10数据的顶部,然后是8/10,等等......? – Nonym 2012-01-03 08:32:22
是的,我想根据所有数据找到前十名。 – cgweb87 2012-01-03 09:53:51