我目前有一个包含497k个单词的表。每个单词及其在英语中的相对频率是一排。我想创建另一个列,根据它们的频率从1到497k(此列表中的单词数)排序,最高频率为1,依此类推。我怎样才能做到这一点?我使用MySQL的54年5月1日根据另一列值的顺序对表中的所有行进行编号
回答
我想出这个(复杂的,但也许快)一个语句的解决方案:
update vocabulary SET rank =
(
SELECT ranking.rank FROM (
SELECT @rownum:[email protected] + 1 as rank, voca.word
FROM
(
SELECT v.word, v.frequency
FROM vocabulary v
ORDER BY v.frequency DESC
) voca,
(SELECT @rownum := 0) r
) ranking
WHERE ranking.word = vocabulary.word
);
我相信这可以进一步optimzed但它可能是一个很好的起点指出有一个单一的声明的解决方案。
此外,这可能仍然存在排名不同但词频相同的行。
这里是一个SQL捣鼓它: http://sqlfiddle.com/#!2/a00e2/1
看起来很棒!我从来没有见过sqlfiddle。我会尽快尝试。 Ty – user1515381 2012-07-10 17:11:56
很高兴为您效劳。 :) – 2012-07-10 17:17:31
它没有工作:/。我忘了提到同一个词可以多次出现。数据库中的唯一条目由一个词和一个PoS标签组成。我在乱搞你的代码,但无法让它取出PoS标签。任何帮助? – user1515381 2012-07-10 19:16:34
- 1. 根据另一个列表值对列表的索引值进行排序
- 2. 根据另一列“重置”中的值对实例进行连续编号
- 3. 如何根据另一个列表对列表进行排序?
- 4. 根据r中的数字列表顺序对字符列表进行排序
- 5. 如何根据其中之一的顺序对两个列表进行排序?
- 6. 根据单独阵列的顺序对阵列进行排序
- 7. 使用tablesorter根据另一列的值对一列进行排序?
- 8. 按顺序对输出进行编号
- 9. 根据另一列的级别对数据帧中的列进行排序
- 10. 如何根据同一个表中另一列的顺序更新列中的所有值?
- 11. 要根据另一列中的日期对列中的值进行求和并对其进行分组
- 12. 如何根据行ID列表更改表中行的顺序?
- 13. 如何根据该行另一列中的值,在asp.net中的listview行中的某些列中进行编辑?
- 14. Python如何根据另一个列表根据它们的属性对对象列表进行排序
- 15. 根据另一个类中可用的参数对列表进行排序
- 16. 根据另一个阵列中定义的排序顺序对阵列进行排序
- 17. 根据R中的另一个值进行行值组合
- 18. 根据同一行中的另一列值填充列的值
- 19. 根据另一阵列的顺序
- 20. 对所有表列中的唯一值进行计数
- 21. 根据另一行另一列的值填充值为空列
- 22. 根据字段按字母顺序对散列进行排序
- 23. 根据内部表值对lua中的表进行排序
- 24. 如何根据子列表中的值对列表进行排序?
- 25. 根据Kohana中的另一个表的数据对mysql结果进行排序
- 26. 根据另一个列表定义的顺序对列表排序
- 27. 如何根据另一个有序表格对表格进行排序?
- 28. PHP - 根据另一个阵列对数组进行排序
- 29. 如何根据日期字段对所有列进行排序
- 30. 根据另一个阵列的排序对阵列进行排序
就可以开始编写一个查询,我们将帮助您解决问题和改进 – Ibu 2012-07-10 16:22:07
这样做有什么目的时,你可以放置一个'ORDER BY'在您的检索报告中? – 2012-07-10 16:22:20
-1简单计数(B),然后按顺序排列。 – 2012-07-10 16:23:08