我試圖弄清楚在WHERE將回傳 id 的子句中放入什么、不在部門中的id計數以及m.sender所在部門名稱。
例如,如果id 在“銷售”中, id 的計數將來自除“銷售”之外的所有部門。
我正在嘗試查找具有最高部門外通信的 id 串列。
(使用 Google BigQuery)m.receiverm.senderm.senderm.senderm.receiverm.sender
SELECT DISTINCT m.sender, COUNT(DISTINCT m.receiver) AS messages_received, e.department
FROM collaboration.messages as m
JOIN collaboration.employees as e
ON m.sender = e.id
WHERE ?
GROUP BY m.sender, e.department
ORDER BY messages_received DESC
LIMIT 5;
| 訊息 | 發送和接收的訊息 |
|---|---|
| 發件人 | 表示發送訊息的員工的員工 id。 |
| 接收者 | 表示接收訊息的員工的員工id。 |
| 雇員 | 每個員工的資訊 |
|---|---|
| ID | 代表員工的員工id |
| 部 | 是公司內部的部門。 |
uj5u.com熱心網友回復:
如果我理解正確,這可能是您需要的:
SELECT DISTINCT m.sender, COUNT(DISTINCT m.receiver) AS messages_received, e.department
FROM collaboration.messages as m
JOIN collaboration.employees as e
ON m.sender = e.id
LEFT JOIN collaboration.employees as receiver_dep
ON m.receiver = receiver_dep.id
WHERE receiver_dep.department <> e.department
GROUP BY m.sender, e.department
ORDER BY messages_received DESC
LIMIT 5;
您需要額外加入才能獲取接收方的部門并檢查它是否與發送方不同。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/517922.html
標籤:Google Cloud Collective sql谷歌大查询数数where子句
上一篇:是在MYSQL中瞬時更改DOUBLE列的最大位數嗎?
下一篇:當無法加入時,用null填充選擇
