【发布时间】:2021-01-27 23:56:13
【问题描述】:
在 MySQL 中,我有一个名为广告的表,其中包含不同类型的广告,例如横幅广告和方形广告。
我想要两个不同广告类型的随机广告。
SELECT DISTINCT id, ad_type
FROM tbl_advertisement
WHERE ad_type IN ('banner', 'square')
ORDER BY RAND()
LIMIT 2
它有时会给我独特的 ad_type,但有时并不如预期。
[
RowDataPacket { id: 9, ad_type: 'square' },
RowDataPacket { id: 8, ad_type: 'square' }
]
预期输出任意两个具有唯一 ad_type 的随机广告:
[
RowDataPacket { id: 3, ad_type: 'square' },
RowDataPacket { id: 4, ad_type: 'banner' }
]
【问题讨论】:
-
使用
LIMIT 1和UNION 组合两个单一广告(不同类型)的结果
标签: mysql sql node.js random greatest-n-per-group