我正在尝试运行 SQL 查询以获取四个随机项目。由于表中product_filter有多个 touple inproduct我必须使用DISTINCTin SELECT,所以我收到此错误:
对于 SELECT DISTINCT,ORDER BY 表达式必须出现在选择列表中
但如果我把它放在RANDOM()我的SELECT它将避免DISTINCT结果。
有人知道如何使用DISTINCT该RANDOM()功能吗?以下是我有问题的查询。
SELECT DISTINCT
p.id,
p.title
FROM
product_filter pf
JOIN product p ON pf.cod_product = p.cod
JOIN filters f ON pf.cod_filter = f.cod
WHERE
p.visible = TRUE
LIMIT 4
ORDER BY RANDOM();