簡體   English   中英

在PostgreSQL中的兩個表上使用DISTINCT和RANDOM

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM