MySQL подсчитывает строки, где a = b и b = a - PullRequest
2 голосов
/ 02 сентября 2011

Я впервые задаю вопрос.Это первый раз, когда я не смог найти то, что я ищу, на SO, и я думаю, что схожу с ума, потому что это должно быть просто!

Предположим, у вас есть таблица MySQL, 'T'с двумя столбцами 'A', 'B'.

A B
---
1 2
2 1
1 3
3 1
2 4

Я бы хотел посчитать взаимоотношения по заданной переменной.Поэтому, если я поставлю

X = 1

, он должен вернуть

2

Поскольку 1, 2 И 2, 1 существуют, а 1, 3 И 3, 1 существуют.Тем не менее, поставка

X = 2

должна вернуть

1

, поскольку 1, 2 И 2, 1 существует, но других строк нет, где 2 = n И n = 2.

Надеюсь, это понятно!И извиняюсь, если это просто, чувствую, что я нахожусь в состоянии замораживания мозга .. Приветствия!

1 Ответ

4 голосов
/ 02 сентября 2011

Это будет работать (но если у вас есть строка с (n, n), это также будет учитываться как взаимная связь):

select count(*) from T t1
join T t2 on t1.B = t2.A
where t1.A = ? and t2.B = ?

(передать одно и то же значение для обоих параметров)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...