用计算结果给从数据库数据排序的问题

2014-06-14 00:02:22 +08:00
 hellohacker
我用的是mysql,现在有这么一个需求,计算一个用户的中奖率

比如 一个zhongjiang表 有两个字段,分别是
user_id (用户id) zhongjiang(是否中奖 1 中奖 2未中奖)

下面是3个用户数据

1 1
1 2

2 1
2 1
2 1
2 2

3 2
3 2
3 1

上面的数据的意思就是 用户id为1的 中奖了1次 买了2次; 用户2中奖了3次 买了4次; 用户3中奖了1次 买了 3次
中奖率 = 中奖次数/买的次数

我想对这些数据根据计算结果,排序出来,sql怎么写呢?
2684 次点击
所在节点    程序员
2 条回复
lvni
2014-06-14 00:47:56 +08:00
SELECT * , ( 2 - SUM( zhongjiang ) / COUNT( user_id ) ) AS psort
FROM `zhongjiang`
WHERE 1
GROUP BY user_id
ORDER BY psort DESC
crazybubble
2014-06-14 05:43:27 +08:00
你不是问过这问题了么。。。 http://www.v2ex.com/t/109418#reply6

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/117406

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX