Mysql 针对多个表的SQL查询
我有一张包含数百种泡菜类型的表Mysql 针对多个表的SQL查询,mysql,sql,Mysql,Sql,我有一张包含数百种泡菜类型的表pickles 表pickles的结构至少为:id、name、likes 从查询开始: SELECT * FROM pickles WHERE likes > 100 LIMIT 10 假设我需要至少10个泡菜在任何时候向用户展示,假设只有4个泡菜被喜欢100次以上。这意味着,尽管有几百个可用的pickle,但只有4个将从此查询中提取 我如何操作此查询以提取多达10个“超过100个喜欢的”泡菜,然后如果没有10个可用泡菜,则用随机泡菜填充其余泡菜?您可
pickles
表pickles
的结构至少为:id、name、likes
从查询开始:
SELECT *
FROM pickles
WHERE likes > 100
LIMIT 10
假设我需要至少10个泡菜在任何时候向用户展示,假设只有4个泡菜被喜欢100次以上。这意味着,尽管有几百个可用的pickle,但只有4个将从此查询中提取
我如何操作此查询以提取多达10个“超过100个喜欢的”泡菜,然后如果没有10个可用泡菜,则用随机泡菜填充其余泡菜?您可以选择喜欢数量最多的泡菜:
SELECT *
FROM pickles
ORDER BY likes DESC
LIMIT 10;
如果您总是希望返回10行,则
100
是非常不相关的。您可以选择喜欢数量最多的泡菜:
SELECT *
FROM pickles
ORDER BY likes DESC
LIMIT 10;
如果您总是希望返回10行,则
100
是非常不相关的。您可以选择喜欢数量最多的泡菜:
SELECT *
FROM pickles
ORDER BY likes DESC
LIMIT 10;
如果您总是希望返回10行,则
100
是非常不相关的。您可以选择喜欢数量最多的泡菜:
SELECT *
FROM pickles
ORDER BY likes DESC
LIMIT 10;
如果您总是希望返回10行,
100
则与此无关。使用“按喜欢排序”并将选择结果按降序排序,这将为您提供喜欢的最高数量列表,然后您可以限制记录
这应该起作用:
SELECT * FROM pickles ORDER BY likes DESC LIMIT 10
使用order by likes并将选择结果按降序排序,这将为您提供最高喜欢数的列表,然后您可以限制记录 这应该起作用:
SELECT * FROM pickles ORDER BY likes DESC LIMIT 10
使用order by likes并将选择结果按降序排序,这将为您提供最高喜欢数的列表,然后您可以限制记录 这应该起作用:
SELECT * FROM pickles ORDER BY likes DESC LIMIT 10
使用order by likes并将选择结果按降序排序,这将为您提供最高喜欢数的列表,然后您可以限制记录 这应该起作用:
SELECT * FROM pickles ORDER BY likes DESC LIMIT 10
试试这个:
SELECT *
FROM pickles
WHERE likes > 100 OR id IN(SELECT id FROM pickles WHERE id > 1)
ORDER BY likes DESC
LIMIT 10;
试试这个:
SELECT *
FROM pickles
WHERE likes > 100 OR id IN(SELECT id FROM pickles WHERE id > 1)
ORDER BY likes DESC
LIMIT 10;
试试这个:
SELECT *
FROM pickles
WHERE likes > 100 OR id IN(SELECT id FROM pickles WHERE id > 1)
ORDER BY likes DESC
LIMIT 10;
试试这个:
SELECT *
FROM pickles
WHERE likes > 100 OR id IN(SELECT id FROM pickles WHERE id > 1)
ORDER BY likes DESC
LIMIT 10;
从泡菜订单中选择*按照likes描述限制10从泡菜订单中选择*按照likes描述限制10从泡菜订单中选择*按照likes描述限制10从泡菜订单中选择*按照likes描述限制10这很有效,但我简化了(可能太多了)我的问题。虽然你写的东西很管用,但我的真实表没有“喜欢”部分,而是通过搜索其他表动态计算“喜欢”,所以想法是,一旦我有了最喜欢的pickle,我需要一种方法来用任意pickle填充其余部分afterwards@Parad0x13-你可以
UNION
Gordon的结果随机选择泡菜查询,然后取前10名;当然,要确保不将结果同时包含在两个集合中。@paradox13如果您有不同的问题,请提出不同的问题,或者相应地修改上面的问题。这是可行的,但我简化了(可能太多了)我的问题。虽然你写的东西很管用,但我的真实表没有“喜欢”部分,而是通过搜索其他表动态计算“喜欢”,所以想法是,一旦我有了最喜欢的pickle,我需要一种方法来用任意pickle填充其余部分afterwards@Parad0x13-你可以UNION
Gordon的结果随机选择泡菜查询,然后取前10名;当然,要确保不将结果同时包含在两个集合中。@paradox13如果您有不同的问题,请提出不同的问题,或者相应地修改上面的问题。这是可行的,但我简化了(可能太多了)我的问题。虽然你写的东西很管用,但我的真实表没有“喜欢”部分,而是通过搜索其他表动态计算“喜欢”,所以想法是,一旦我有了最喜欢的pickle,我需要一种方法来用任意pickle填充其余部分afterwards@Parad0x13-你可以UNION
Gordon的结果随机选择泡菜查询,然后取前10名;当然,要确保不将结果同时包含在两个集合中。@paradox13如果您有不同的问题,请提出不同的问题,或者相应地修改上面的问题。这是可行的,但我简化了(可能太多了)我的问题。虽然你写的东西很管用,但我的真实表没有“喜欢”部分,而是通过搜索其他表动态计算“喜欢”,所以想法是,一旦我有了最喜欢的pickle,我需要一种方法来用任意pickle填充其余部分afterwards@Parad0x13-你可以UNION
Gordon的结果随机选择泡菜查询,然后取前10名;当然,要确保不在两个集合中都包含结果。@paradox13如果您有不同的问题,请提出不同的问题,或者相应地修改上述问题。