|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.01.2016, 19:44 | #1 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
Анализ покупок с помощью SQL
Всем привет. Собственно чето туплю после НГ, заклинило и все тут )))
Имеем табличку: id_user, id_book указывающую кто и что покупал... Стоит задача: получить список всевозможных пар товаров, которые были куплены более чем одним человеком что пытался: Код:
|
06.01.2016, 20:06 | #2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Код:
программа — запись алгоритма на языке понятном транслятору
|
06.01.2016, 20:20 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Так точно не повторяющиеся, а то будут пары 1,2 и 2,1
Код:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
06.01.2016, 20:40 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
не очень понятно почему < ?
дошло... надо меньше пить, пить меньше надо (с) )))) при попытке запроса - u.book1, u.book2 ругается на неизвестные поля book1 Последний раз редактировалось ADSoft; 06.01.2016 в 20:44. |
06.01.2016, 20:49 | #5 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
06.01.2016, 20:53 | #6 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
само собой...
кстати он даже запрос типа SELECT * FROM (приведенный выше запрос) Не может отработать с примерно 980 тыс записей.... запрос генерит порядка 7 млн пар.... нельзя ли еще внутри того запроса как то ограничить... группировкой например |
06.01.2016, 20:55 | #7 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А СУБД какая? На MS SQL 2012 проверил, мой летает
Цитата:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 06.01.2016 в 21:05. |
||
06.01.2016, 21:05 | #8 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
MySQL.... все поля индексированы - в принципе запрос быстро отрабатывет внутренний.... а вот внешний который с хавингом счетчика пол-ва пар..... умирает
ограничил внутрений запрос 300 записями для примера...... посмотрел - отрабатывает - но COUNT всем 1 считает, хотя это не так (((( |
06.01.2016, 21:11 | #9 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
HAVING отрабатывает после всего, на полном комплекте и медленный естественно
Цитата:
Попробуй так, при условии, что парочка id_user,id_book уникальна в таблице. Хотя не уверен на счет этого запроса Код:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 06.01.2016 в 21:21. |
|
06.01.2016, 22:56 | #10 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
взял внутренний запрос из последнего приведенного, и уже в php отсеял >1
всем спасибо! ... теперь думаю как к этому запросу прикрутить кол-во не только пар, но и вообще все покупателей данного товара (book1). (book2) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
T-SQL проверка на update помощью trigger | xxbesoxx | SQL, базы данных | 10 | 27.11.2015 21:24 |
Сортировка с помощью SQL в Firebird2.5 | GetMax | Помощь студентам | 15 | 02.07.2014 00:54 |
Запись в БД с помощью SQL | Анка_К | БД в Delphi | 4 | 30.09.2013 12:13 |
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) | Schutze | Помощь студентам | 6 | 29.11.2009 22:15 |
написать БД на Delphi с помощью SQL | Tanchik | Фриланс | 2 | 13.06.2007 19:06 |