【发布时间】:2014-01-29 10:19:45
【问题描述】:
我有一个网站,用户可以在其中列出待售商品。网站正面使用以下 SQL 显示随机特卖商品。
SELECT * FROM auctions
WHERE closed = 0 AND suspended = 0 AND starts <= 1390990443
ORDER BY RAND() LIMIT 30
问题在于,一个用户的销量很大,以至于网站的前端大多是那个用户。我想将用户使用auction.user 列显示的项目限制为每个用户五个项目。
我希望有 SQL 可以在一行中执行此操作,如果没有的话,将不胜感激有关谁在多个查询上建立结果的建议或链接。编码语言为 PHP。
编辑:数据库结构在这里。 http://pastebin.com/3ua18k4h
【问题讨论】:
-
你可以为每个用户运行上面的sql并附加限制5
-
@SatishSharma - 哦,是的,这是一个很棒的计划! (不)
-
6个查询解决一个问题?可能有更聪明的方法。
-
@Strawberry OP 使用 php。它可以很容易地制作。你有更好的选择吗
-
Bushtar,考虑提供适当的 DDL 和一些具有代表性的数据(最好是 sqlfiddle)以及几个示例结果集