我有这两张桌子,我需要将moset用于办公室。注意:1个办公室可以由超过1个人使用,TableB中的列ido来自TableA
Probaly是group by
和desc
limit 1
表A
| ido| office | guy |
---------------------
| 1 | office1| guy1|
| 2 | office2| guy2|
| 3 | office1| guy3|
| 4 | office1| guy4|
| 5 | office5| guy5|
| 6 | office2| guy6|
表B
| idb| vizit | ido|
---------------------
| 1 | date | 4 |
| 2 | date | 2 |
| 3 | date | 5 |
| 4 | date | 6 |
| 5 | date | 1 |
| 6 | date | 6 |
谢谢!
答案 0 :(得分:0)
你是对的,因为GROUP BY,LIMIT和DESC在这里很有用;它会导致相当直接的查询;
SELECT TableA.office
FROM TableA
JOIN TableB
ON TableA.ido = TableB.ido
GROUP BY TableA.office
ORDER BY COUNT(*) DESC
LIMIT 1
它的作用基本上是创建具有所有有效组合的行,计算每个办公室生成的行数。按该计数进行的简单降序将为您提供最常用的办公室。