我想知道是用MySQL还是用服务器语言处理数据更快。我确信像ORDER这样的原生函数在MySQL中会更快,因为索引、缓存等,但实际上是计算排名(包括返回具有相同排名的多个条目的ties ):
示例SQL
SELECT TORCH_ID,
distance AS thisscore,
(SELECT COUNT(distinct(distance))+1 FROM torch_info WHERE distance > thisscore) AS rank
FROM torch_info ORDER BY rank
服务器
...as不是只做一个SELECT TOR
MySQL服务器5.6.20 (目前最新版本)
按日期表计算价格。我添加了一个新列"Rank",它表示按日期对商品价格的排名。
Date Item Price Rank
1/1/2014 A 5.01 0
1/1/2014 B 31 0
1/1/2014 C 1.5 0
1/2/2014 A 5.11 0
1/2/2014 B 20 0
1/2/2014 C 5.5 0
1/3/2014 A 30 0
1/3/2014 B
我正在创建一个安卓应用程序,我正在使用MySQL。
MySQL表看起来像
我想通过用户的qa获得用户的排名,如果我想获得Kenig的排名,我将得到1,因为他拥有最多的qa (1060),如果我想获得Dyrus的排名,我将得到3,因为他的qa最低等等。
我在互联网上到处寻找这样的查询,这就是结果
SELECT ip,name,qa,ROW_NUMBER() over (ORDER BY qa) AS Number FROM users ORDER BY qa;
但是,当我试图运行这一行时,我会得到以下错误:
您的SQL语法出现了错误;请检查与您的MySQL服务器版本相对应的手册,以获