我有一个投标表(不同的用户)。每个用户都可以在他想要的时候出价(无限制)。
我需要应用两个规则,应该取消出价:第一条规则-不超过4个连续出价,这意味着如果用户有: 10.50 10.47 10.36 10.20 10.00,所以10.00应该被取消。
第二条规则是在前50个投标中不超过9个投标,同样,第10个投标应该被取消。
我做了很长的一段路,只是在投标表上运行,并计算连续。但我想知道是不是有人有别的想法。(php + mysql)
谢谢
发布于 2011-02-22 00:15:20
对于第二个标准:
SELECT username, count(*) as bids
FROM
(SELECT username
FROM bids
ORDER BY bid_timestamp DESC
LIMIT 50)
WHERE username = :username
GROUP BY username
HAVING COUNT(*) > :bid_limit如果此记录返回任何行,则不允许新的bid。这可能是一种更好的方法,但它比将所有50行返回到php,然后迭代和计数要好得多。
https://stackoverflow.com/questions/5068133
复制相似问题