作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为referrals 的表,其中包含以下列:
编号 |事件 |模块 |团队 |转介|推荐人 |创建于
为了获得排名,我尝试对 referred_by
的唯一出现次数求和,然后对它们进行排名。这似乎在一定程度上起作用,但是,当出现平局时,我发现排名会重复。相反,我需要的是还要说明推荐发生的日期(最早的日期应该排在第一位,打破平局)。
这是我的原始查询示例:
SELECT referral.referred_by AS id,
SUM(1) AS referral_count,
RANK() OVER (ORDER BY referral.count DESC) AS current_position
FROM referral
WHERE referral.campaign = 106 AND
referral.team = 36 AND
DATE_PART('month', referral."createdAt") = DATE_PART('month', NOW()) AND
DATE_PART('year', referral."createdAt") = DATE_PART('year', NOW())
GROUP BY referral.referred_by
ORDER BY referral_count DESC LIMIT 20
SELECT date_trunc(r."createdAt"), r.referred_by, count(*)
哪些 yield :
id | referral_count | current_position
894 | 3 | 1
895 | 2 | 2
896 | 2 | 2
897 | 1 | 4
理想情况下应该是:
id | referral_count | current_position
894 | 3 | 1
895 | 2 | 2
896 | 2 | 3
897 | 1 | 4
谢谢!
最佳答案
您应该能够将 created_at 添加到您的订单中
SELECT referral.referred_by AS id,
SUM(1) AS referral_count,
RANK() OVER (ORDER BY referral.count DESC,referral."createdAt") AS current_position
FROM referral
WHERE referral.campaign = 106 AND
referral.team = 36 AND
DATE_PART('month', referral."createdAt") = DATE_PART('month', NOW()) AND
DATE_PART('year', referral."createdAt") = DATE_PART('year', NOW())
GROUP BY referral.referred_by
ORDER BY referral_count DESC LIMIT 20
SELECT date_trunc(r."createdAt"), r.referred_by, count(*)
关于sql - 如何使用日期打破总和结果的平局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46712917/
我正在为我的作业制作井字游戏,老师告诉我在只能打印领带的情况下打印领带。 (假设玩家不聪明)例如, x o x- - -o x o can only result in a tie so when t
所以当我开始编写这个函数时,我正在编写一个石头剪刀布游戏: a是玩家自己的举动,b是玩家二的举动。我需要弄清楚的是,第一个玩家是赢了、输了还是平了。 //rock=0, paper=1, scisso
我知道用 PHP 可以做到这一点,但是有没有办法只用 MySQL 来做到这一点? 我有这个数据库: --------------------------------------------------
我是一名优秀的程序员,十分优秀!