在postgres中使用like查询获取随机记录
Get random record using like query in postgres
我有一个以 email_address 作为主键的 table,并且 table 中没有 id 列。
所以每当我点击
这样的查询时
select email_address from data where email_address like '%@gmail.com' limit 10
它按字母顺序给出结果意味着所有以 a(如果存在)开头的电子邮件 ID。
但我不想要字母顺序,我想要结果
email_address
___________________
a@gmail.com
k@gmail.com
d@gmail.com
b@gmail.com
随机选择以 gmail.com 结尾的电子邮件地址,不按插入顺序或不按字母顺序。
注意:当我只选择 100 个时,我有大约 1000 个以每个字母开头的结果然后我不仅想要所有以 'a'
开头的结果
如果您随机排序它们,然后选择前 10 个结果,我想这可行。它会是这样的:
SELECT email_address FROM data
WHERE email_address LIKE '%@gmail.com'
ORDER BY RANDOM()
LIMIT 10
我有一个以 email_address 作为主键的 table,并且 table 中没有 id 列。
所以每当我点击
这样的查询时select email_address from data where email_address like '%@gmail.com' limit 10
它按字母顺序给出结果意味着所有以 a(如果存在)开头的电子邮件 ID。
但我不想要字母顺序,我想要结果
email_address
___________________
a@gmail.com
k@gmail.com
d@gmail.com
b@gmail.com
随机选择以 gmail.com 结尾的电子邮件地址,不按插入顺序或不按字母顺序。
注意:当我只选择 100 个时,我有大约 1000 个以每个字母开头的结果然后我不仅想要所有以 'a'
开头的结果如果您随机排序它们,然后选择前 10 个结果,我想这可行。它会是这样的:
SELECT email_address FROM data
WHERE email_address LIKE '%@gmail.com'
ORDER BY RANDOM()
LIMIT 10