[英]MySQL LIMIT results with INNER JOIN with more than 2 tables
我有一個數據庫,允許用戶擁有多個電子郵件地址。 我想查詢數據庫以獲取該客戶的所有作業實例。 每項工作都會返回兩次,每封電子郵件一次。
這是我的查詢:
SELECT customers.first_name, customers.last_name, emails.email, services.title, services.description, jobs.status, jobs.job_id
FROM customers
INNER JOIN emails ON customers.user_id=emails.user_id
INNER JOIN jobs ON customers.user_id=jobs.customer_id
INNER JOIN services ON jobs.service_id=services.service_id;
它返回這樣的東西:
我想僅使用第一封電子郵件返回結果。 對於用戶存檔的每個電子郵件地址,不應重復該行。
如何才能做到這一點?
您可以在SQL上使用GROUP BY
來獲取如下的唯一列值。
SELECT customers.first_name, customers.last_name, emails.email, services.title, services.description, jobs.status
FROM customers
INNER JOIN emails ON customers.user_id=emails.user_id
INNER JOIN jobs ON customers.user_id=jobs.customer_id
INNER JOIN services ON jobs.service_id=services.service_id;
GROUP BY jobs.job_id;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.