@cohen

Как получить уникальные значения по двум полям?

День добрый.
Подскажите, пожалуйста кто знает и кому не трудно.
Имеется таблица связей edges вида:
edgenode1node2
112
213
322
.........
В поле node2 могут быть значения, не встречающиеся в node1, и наоборот.
Как пограмотнее извлечь уникальные значения nodes и посчитать количество их проявлений?
Т.е.:
nodecount
124
248
336
......
Спасибо.
  • Вопрос задан
  • 1161 просмотр
Пригласить эксперта
Ответы на вопрос 3
@immelnikoff
Изучаю БД
SELECT `node1`, count(`node1`) FROM `table` GROUP BY `node1`

Теперь правильный вариант:
SELECT `node1`, count(*) FROM
(SELECT `node1` FROM `table` UNION ALL SELECT `node2` FROM `table`) AS T
GROUP BY `node1`

Проверил, работает как нужно.
Ответ написан
Recosh
@Recosh
Программист студент
SELECT `node1`, count(`node1`) FROM `table` GROUP BY CONCAT(`node1`,'-',`node2`)
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
SELECT NodeDist, SUM(NodeCount) FROM
(SELECT node1 AS NodeDist, COUNT(*) AS NodeCount
FROM Table_Edge
GROUP BY node1
UNION
SELECT node2 AS NodeDist, COUNT(*) AS NodeCount
FROM Table_Edge
GROUP BY node2) AS EdgeCount
GROUP BY NodeDist
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы