在postgres中使用类似查询获取随机记录

时间:2017-07-19 11:31:24

标签: postgresql random sql-order-by sql-like alphabetical-sort

我有一个以email_address为主键的表,表中没有id列。

每当我点击

这样的查询时
select email_address from data  where email_address like '%@gmail.com' limit 10

它按字母顺序给出结果表示所有以(如果存在的话)开头的电子邮件ID。

但我不想像字母顺序,我想要像

这样的结果
email_address
___________________
a@gmail.com
k@gmail.com
d@gmail.com
b@gmail.com

随机选择以gmail.com结尾的电子邮件地址,而不是按字母顺序插入订单。

注意:当我选择100时,我喜欢从每个字母开始的1000个结果然后我不仅希望所有结果都以'a'开头

1 个答案:

答案 0 :(得分:0)

如果您随机订购,然后选择前10个结果,我想这可行。它会是这样的:

SELECT email_address FROM data
WHERE email_address LIKE '%@gmail.com'
ORDER BY RANDOM()
LIMIT 10