假设我有这个新闻收集数据库,其中cat1,cat2等属于类别:
title cat1 cat2 cat3 cat4 catcount new1 new2 new3 new4
title1 1 2 0 0 2 0 0 0 0
title2 0 2 0 4 2 0 0 0 0
title3 1 2 3 0 3 0 0 0 0
现在我想随机选择任何非零类别的标题,例如title='title3' cat2='2'
来做一些确定此类别是否正确的处理。
然后将值返回到相应的new2
(因为我们处理了cat2
),递减catcount
,并将cat2
设置为零,因为它已被处理。
目标是处理所有标题类别的组合,并将结果写入new
,除非我随机阅读。
我如何在MySQL中查询?
编辑: 最终结果应该是这样的:
title cat1 cat2 cat3 cat4 catcount new1 new2 new3 new4
title1 0 0 0 0 0 1 0 0 0
title2 0 0 0 0 0 0 2 0 4
title3 0 0 0 0 0 0 2 0 0
答案 0 :(得分:0)
您可以使用MySQL的RAND()函数生成伪随机数。
但请注意,此函数的熵非常低,因此您应该考虑获取表的所有条目,然后在代码中单独执行处理。
http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html
RAND()并不是一个完美的随机发生器。这是一种快速的方式 根据需要生成可随机移动的随机数 相同MySQL版本的平台。