Подсчет повторяющихся записей со специальным условием в MYSQL - PullRequest
1 голос
/ 12 апреля 2011

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

Мои таблицы упрощены для примера:

categories_table
+-----+  
| id  |  
+-----+  
|   1 |  
|   2 |  
|   3 |  
+-----+  
links_table
+------+-------------+-------------------+
| id   | category_id | link              |
+------+-------------+-------------------+
| 1    |           1 | http://google.com |
| 2    |           2 | http://google.com |
| 3    |           2 | http://google.com |
| 4    |           5 | http://yahoo.com  |
| 5    |           1 | http://php.net    |
| 6    |           2 | http://php.net    |
+------+-------------+-------------------+

В таблице ссылок У меня есть тысячи строк (да, одни и те же ссылки, подключенные к той же категории ), и я хотел бы иметь таблицу представления, в которой перечислены ссылки DISTINCT , с суммой категорий DISTINCT, к которой прикреплена ссылка. Так что в links_table id 2 и 3 должны учитываться только один раз!

Так что в этом примере таблица представления должна выглядеть следующим образом:

view
+-------------------+-------------------+
| sum_of_categories | link              |
+-------------------+-------------------+
| 2                 | http://google.com |
| 1                 | http://yahoo.com  |
| 2                 | http://php.net    |
+-------------------+-------------------+

Кто-нибудь может помочь?

1 Ответ

4 голосов
/ 12 апреля 2011
select link, count( distinct category_id ) sum_of_categories
   from links_table
   group by link
...