【发布时间】:2019-03-14 17:39:59
【问题描述】:
我有以下查询,它给了我 3 个随机名称、ids 和 top_tags:
SELECT Name
, id
, top_tag
FROM artists
WHERE not find_in_set (id,'1,2,3,4')
order
by rand()
limit 3
它工作正常,但是,我确实需要另一个条件。
我有一个列名 top_tag (int),我需要结果将包含 3 个唯一的 top_tag 值,而不是 top_tag 的重复项。
【问题讨论】:
-
not find_in_set()应该做什么?你听说过not in吗? -
@Strawberry 已更新,谢谢。从 C# 复制查询时,它被删除了。请注意,
not find_in_set()与问题并没有真正的关系,但我只是在查询中使用它。 -
@GordonLinoff
not in也可以。find_in_set与您所指的非常相似。 [链接]dev.mysql.com/doc/refman/8.0/en/… -
结果相似,但
FIND_IN_SET()不会使用索引,而NOT IN()会。 -
@BillKarwin 注意到