[英]MAP DISTINCT VALUES BETWEEN TWO TABLES USING COMMON COLUMN POSTGRESQL
[英]Using DISTINCT and RANDOM with two Tables in PostgreSQL
我有这个问题。 我需要从票务表中查询票证编号,从成员表中查询成员名称,并在postgres中使用随机函数和独特关键字。 MemberName应该是唯一的。
该代码在mySQL中有效,但在PostgreSQL中无效。
SELECT a.ticketNum, b.memberName
FROM tickettable a, memberstable b
GROUP BY memberName
ORDER BY by rand()
LIMIT 2
我该怎么办?
Postgres中的随机数函数是random()
。 其次, group by
将不起作用,因为不包含ticketNum
。 您可以通过几种方式来做自己想做的事情。 这是一种相关的子查询方式:
SELECT m.memberName,
(select t.ticketNum
from tickettable t
order by random()
limit 1
) as ticketNum
FROM memberstable m
LIMIT 2;
此外,请注意以下几点:
,
在from
子句替换cross join
。 在from
子句中避免逗号。 始终使用显式join
语法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.