2017-11-09 12 views
0

현재 mysql에 을 사용하고 있습니다. 잘 작동합니다. 좋아하는 숫자는 0부터 5까지입니다. 하지만 앞으로 5 명이 늘어날 수 있습니다. 내 maxlikes더 자주 좋아하는 항목을 표시하기위한 공식보다 덜 자주 좋아하는 항목을 표시하기위한 수식

좋아하는 사람이 더 자주 표시 될 확률이 더 높지만 시간대별로 좋아하지 않는 사람이 더 자주 표시되는 방식으로 어떻게 주문할 수 있습니까? 시각?

+0

내가 좋아하는 항목을 여러개의 항목으로 표시 할 때 동등한 기회를주기 위해 좋아하는 항목을 계산할 때'max (rand()) as my order'를 선택하는 결과가 발생했습니다. (각각 같은 복권 티켓 kind'a처럼 나는). –

답변

1

당신은 order by RAND()*likes DESC 호의가 매우 을 할 정말 당신이 분포를 원하는에 따라 달라집니다

순위를 평균 maxLikes에게/2를 추가 order by RAND()*maxLikes +Likes DESC 같은 것들을
또는 뭔가를 좋아 할 수 난 당신이 또한
select columns, rankingFormulaWithRandom as rank .... order by rank desc

수 생각
+0

배포판이 너무 좋아서 좋아하지 않기 때문에이 항목을 사용하지 않았습니다. 추가 항목처럼 행동하고 싶었 기 때문에 같은 줄에 'max (rand()) my order'를 선택했습니다. 그래서 많은 사람들이 좋아하는 사람들은 높은 순위를 얻는 기회를 여러 번 얻습니다. (그러나 모든 것을 무작위 추첨에서 여분의 항목처럼 유지하십시오.) –