【发布时间】:2016-11-26 15:45:12
【问题描述】:
我正在使用两个不同表中的选择,这些表应按组引用 ID 匹配,例如: 表一和表二:
+-----+-----+------------+ +-----+------+
| gid | tid | created | | gid | nid |
+-----+-----+------------+ +-----+------+
| 0 | 816 | 1480002041 | | 0 | 1123 |
| 1 | 731 | 1480003932 | | 0 | 1124 |
| 1 | 736 | 1480003932 | | 1 | 1125 |
| 2 | 746 | 1480003932 | | 1 | 1126 |
+-----+-----+------------+ | 1 | 1123 |
| 2 | 1124 |
| 1 | 1129 |
+-----+------+
我需要从 table 2 中获取与 table 1 上的组完全匹配的nid 值。 表 1 中对搜索的引用是 tid。
我相信 SQL 会是这样的:
SELECT t1.nid
FROM table1 t1
INNER JOIN
(
SELECT gid
FROM table2
WHERE tid IN (731, 736, 746, 751)
GROUP BY gid
HAVING COUNT(DISTINCT tid) = 4
) t2 ON t1.gid = t2.gid;
但是我怎样才能得到确切的count 来替换硬编码的number 4?
【问题讨论】:
标签: mysql join count group-by having