|
|
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Есть следующая таблица (первая колонка - ряд по порядку, оствльные - данные): r c1 c2 c3 c4 c5 c6 1 1 2 3 4 5 6 2 7 8 9 10 11 12 3 2 5 8 10 16 17 4 1 3 4 6 14 16 5 3 4 6 10 12 18 6 3 4 6 15 20 21 Необходимо составить запрос, который отберет максимальное количество совпадающих чисел из каждого ряда (возможно, не правильно сформулировал). Например, числа 3, 4 и 6 совпали 4 раза - в первом, в четвертом, пятом и шестом рядах. В результате запроса чтобы были 4 (4 раза) и числа 3, 4, 6 (потому что они совпали максимальное кол-во раз). Возможно ли такую задачу решить средствами sql? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 12:26:22 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
hubble.tvvЕсть следующая таблица (первая колонка - ряд по порядку, оствльные - данные): r c1 c2 c3 c4 c5 c6 1 1 2 3 4 5 6 2 7 8 9 10 11 12 3 2 5 8 10 16 17 4 1 3 4 6 14 16 5 3 4 6 10 12 18 6 3 4 6 15 20 21 Необходимо составить запрос, который отберет максимальное количество совпадающих чисел из каждого ряда (возможно, не правильно сформулировал). Например, числа 3, 4 и 6 совпали 4 раза - в первом, в четвертом, пятом и шестом рядах. В результате запроса чтобы были 4 (4 раза) и числа 3, 4, 6 (потому что они совпали максимальное кол-во раз). Возможно ли такую задачу решить средствами sql? Заранее благодарен. я в 1 ряду 3 совпадения нашел,в 4 -5совпадений, больше не считал алгоритм еще хитрей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 12:42:20 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Я понял. Перефразирую. Необходимо составить запрос, который отберет максимальное количество КОМБИНАЦИЙ совпадающих чисел из каждого ряда. Т.е., числа 3, 4 и 6 ОДНОВРЕМЕННО НАХОДЯТСЯ В ОДНОМ РЯДУ и совпадают 4 раза - в первом, в четвертом, пятом и шестом рядах. Еще усложнил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 12:53:49 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
ага с отбором понятно, что на выходе должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 13:02:41 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Если возможно, то в результате запроса чтобы фигурировало число 4 (по кол-ву ОДНОВРЕМЕННЫХ совпадений - в данном случае 4 раза) и ОБЯЗАТЕЛЬНО числа 3, 4, 6 (т.е. ТЕ ЧИСЛА, которые совпали максимальное кол-во раз). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 13:25:53 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
структуру данных надо менять, так точно не получится, (у меня), еще вопрос изначально цифры 3, 4 и 6 не известны и надо их найти? тогда получается на входе имеется только таблица? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 14:44:04 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Да, на входе имеется только таблица. Числа все известны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 15:01:16 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
hubble.tvv, что значит числа все известны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 15:07:17 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
а откуда известно что группа состоит из 3 чисел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 15:12:47 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
вадя, Ну как, есть таблица. Все данные в них известны. Может я вопрос не понял? bochkov, В том-то и дело, что необходимо составить запрос, который отберет максимальное количество КОМБИНАЦИЙ совпадающих чисел из каждого ряда. Но если будет возможность еще и выбирать кол-во чисел в группе (ну, т.е., а не посмотреть ли, сколько раз группа из чисел 1 и 2 повторяется в каждой строке; или же из чисел 1, 2, 3, 4, 5) - это будет просто супер!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 15:51:36 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
вадя, Пардон. Если числа, которые будут искаться, то да - они не известны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 16:01:37 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
hubble.tvvвадя, Ну как, есть таблица. Все данные в них известны. Может я вопрос не понял? bochkov, В том-то и дело, что необходимо составить запрос, который отберет максимальное количество КОМБИНАЦИЙ совпадающих чисел из каждого ряда. Но если будет возможность еще и выбирать кол-во чисел в группе (ну, т.е., а не посмотреть ли, сколько раз группа из чисел 1 и 2 повторяется в каждой строке; или же из чисел 1, 2, 3, 4, 5) - это будет просто супер!!! если к примеру количество чисел в группе от 1 до 5 то если в таблице числа от 0 до 99 то это будет примерно 100^5 вариантов это если решать задачу в лоб, да и главный вопрос, можно ли поменять структуру таблицы? если вы расскажете суть вопроса то возможно найдется оптимальное решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 16:17:36 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
решить одним запросом - мало вероятно использовать возможности хранимки - тогда наверно, но это будет более похоже на обыкновенное программирование ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 16:29:07 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
вадя, Решать одним запросом не обязательно. А насчет программирования, то я и спросил вначале, возможно ли решить этот вопрос средствами sql? bochkov, Структуру таблицы менять можно (я имею в виду, что можно, и, наверное даже нужно, создать другую таблицу, не уничтожая исходную). Я просто в SQL почти "ноль". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 17:18:15 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
и так если структура таблицы будет r - номер строки c - номер колонки v - значение ячейки Код: sql 1. 2. 3. 4. 5. 6. 7. тогда получить группы чисел и количество их совпадений Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. еще добавил ограничение в группе чисел не может быть одинаковых значений порядок чисел обязателен но эти ограничения можно убрать ну и запрос выводит группы по 3 числа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 18:20:05 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
маленько принцип запроса изменил и 5 цифирные группы вычислил Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 18:41:30 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
bochkov, Прошу прощения. Мне далеко не все понятно (выше писал - я начинающий). Итак, по порядку: 1. Структура моей таблицы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 2. Данные файла-csv (из моего первого поста): r,col_1,col_2,col_3,col_4,col_5,col_6, 1,1,2,3,4,5,6, 2,7,8,9,10,11,12, 3,2,5,8,10,16,17, 4,1,3,4,6,14,16, 5,3,4,6,10,12,18, 6,3,4,6,15,20,21 Можно переписать применительно к этой таблице. Прошу прощения за нубство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 18:58:25 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Добавил csv-файл в пристежке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 18:59:56 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
hubble.tvvДобавил csv-файл в пристежке. это не csv файл... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:18:42 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
применительно к вашей таблице ничего сделать нельзя а вот в такой Код: sql 1. 2. 3. 4. 5. 6. 7. ваши данные перенес Код: sql 1. 2. 3. 4. 5. вуаля Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:20:41 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
bochkov ты поставил всё не так.... это уже совсем другие условия, и соответственно решение не подходит для ТС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:22:04 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
вадя, не знаю, только изменив структуру таблицы можно на что то рассчитывать лепить таблички в екселе, а обрабатывать на sql - неправильно поэтому и спросил можно ли менять структуру еслиб автор сказал нельзя я б даже не пытался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:28:18 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
вадяhubble.tvvДобавил csv-файл в пристежке. это не csv файл... правильный файл, извиняюсь .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:31:13 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
bochkovвадя, не знаю, только изменив структуру таблицы можно на что то рассчитывать лепить таблички в екселе, а обрабатывать на sql - неправильно поэтому и спросил можно ли менять структуру еслиб автор сказал нельзя я б даже не пытался вопрос о количестве строк в таблице тс - если не ограничено, то твой метод не катит если это "матрица" 6*6 то к можно преобразовать таблицу тс к твоей.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:34:15 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
моя структура позволяет хранить матрицу любой ширины в отличие от оригинала и позволяет сгенерировать все возможные группы одним запросом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:37:17 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
bochkov, Спасибо. Но скорее всего средствами SQL не получится. Я понял, что вы имели в виду, когда написали поменять структуру таблицы. На самом деле оригинальная таблица большая. Это для примера я привел 6х6. Еще раз спасибо. Извиняюсь за ваше потраченное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:47:44 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
bochkovмоя структура позволяет хранить матрицу любой ширины в отличие от оригинала и позволяет сгенерировать все возможные группы одним запросом видимо поздно уже :) - туплю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:48:10 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
насколько большая? и практическое назначение таблицы и результатов (если не секрет)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:50:01 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
hubble.tvvbochkov, Спасибо. Но скорее всего средствами SQL не получится. Я понял, что вы имели в виду, когда написали поменять структуру таблицы. На самом деле оригинальная таблица большая. Это для примера я привел 6х6. Еще раз спасибо. Извиняюсь за ваше потраченное время. трансформация данных перед обработкой-обычное дело любую матрицу можно запихать и этим запросом обработать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:50:58 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
bochkovhubble.tvvbochkov, Спасибо. Но скорее всего средствами SQL не получится. Я понял, что вы имели в виду, когда написали поменять структуру таблицы. На самом деле оригинальная таблица большая. Это для примера я привел 6х6. Еще раз спасибо. Извиняюсь за ваше потраченное время. трансформация данных перед обработкой-обычное дело любую матрицу можно запихать и этим запросом обработать да, только тут вопрос упирается во время обработки.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 19:58:46 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
вадя, все лучше чем в рукопашку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 20:00:50 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
да , причем может оказаться, что решение на sql будет самым быстрым ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 20:07:14 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
вадя, Нет, не секрет. Применение - лото. Таблица в общем, как я уже понимаю, по меркам для обработки на sql - не большая. 6х1000 bochkov, Остается у вас выпросить, как делается трансформация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 20:20:38 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
bochkov, Я имею в виду, что вы не ручным способом набивали матрицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 20:23:27 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
не вникал, просто нашёл получение всех перестановок (если количество значений чисел из колонок с1-6 реальное) http://forum.sources.ru/index.php?showtopic=304456 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. ну и далее.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 20:24:16 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
количество значений чисел из колонок с1-6 ограниченно и чему оно равно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 20:26:45 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
тогда наверно проще изменить ТЗ и записывать данные сразу в в формате таблицы bochkov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 20:30:35 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
вадя, Да, забыл. От 1 до 50. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 20:32:33 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
вадя, Если бы с нуля заполнял, то согласен, но данные УЖЕ ЕСТЬ в формате, как я показал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2015, 20:35:15 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. rowsqtyc_vals1,4,5,643,4,6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 00:21:54 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Поправка: group_concat(distinct v.r order by v.r)rows ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2015, 00:28:23 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Cygapb-007, Большое спасибо. Теперь буду изучать ваш код (и не только) и учиться составлять запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 10:35:25 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Всё-таки я не понял постановки задачи. Наверное, потому, что пример данных не очень удачен. Скажем, изменим немножко входной массив, так, что имеется та же тройка значений (3,4 и 6), присутствующая в 4 записях, но в то же время имеется двойка значений (3 и 4), присутствующая в 5 записях... что будет целевым решением задачи? rc1c2c3c4c5c611234562349101112325810161741346141653461012186346152021 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 10:49:05 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Akina, 3, 4, и 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 12:19:45 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Akina , Подставьте в запросе вместо limit 1, limit 10 и вы увидете свою пару 5 раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 12:23:08 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Akina, Извиняюсь. Я ошибся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 12:25:04 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
hubble.tvvAkina, 3, 4, и 6 Если в дополнение к означенным найдётся вариант из 4 значений в 3 записях - он будет ещё более предпочтительным? а если 5 значений в 2 записях - то это самый предпочтительный? Т.е. абсолютный приоритет - максимальная длина группы, а уже среди всех групп макс. длины - макс. количество записей в группе. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 12:35:17 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
При такой постановке задачи решение формируется в два этапа. На первом этапе выполняется поиск максимально длинных групп. А на втором уже выбирается максимальная по количеству записей группа. hubble.tvvя и спросил вначале, возможно ли решить этот вопрос средствами sql?Да, возможно. Но целесообразность такого решения весьма сомнительна. hubble.tvvТаблица в общем, как я уже понимаю, по меркам для обработки на sql - не большая. 6х1000 hubble.tvvОт 1 до 50. Итого 1000 записей, в каждой 6 значений в пределах от 1 до 50... ну чё, чисто из любопытства можно повозиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 12:42:33 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
hubble.tvv, достаточно часто применяю прием(access)-- сцепляю поля через разделитель(дополнительные разделители в начале и конце), искомые значения тоже окружаю разделителем) удобно ---поля могут быть символьного и/или числового типа, допускается like по начальной или хвостовой части Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 13:38:45 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Поскольку у него 6 полей к сравнению, проще написать выражение попарного сравнения (чё там, всего 15 слагаемых), чем заниматься конкатенациями и строковыми поисками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 13:48:27 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Akina, 6 полей*3поисковика=18 вариантов а будет 9 или 10...................... - ------многое зависит от размера таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 17:02:49 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКА, размер таблицы нам озвучен. 1к записей. 6 полей к сравнению. Значения от 1 до 50. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 18:04:22 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
авторAkina, Т.е. абсолютный приоритет - максимальная длина группы, а уже среди всех групп макс. длины - макс. количество записей в группе. Так? Да, именно так. Но, если возможно смотреть гибко, т.е., кроме максимального кол-ва записей в группе, а, допустим, 4 в 3-х записях, то это еще лучше. авторAkina, Итого 1000 записей, в каждой 6 значений в пределах от 1 до 50 Тоже верно. Но, в общем-то, мой вопрос Cygapb-007 можно сказать решил. Если вы предложите более интересный вариант, то с удовольствием посмотрю ваше решение. Мне гораздо легче обучаться на примерах профессионалов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 18:37:22 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
hubble.tvvAkina, 3, 4, и 6а теперь я не понял... допустим, есть таблица:rc1c2c3c4c5c611020304050121020304050233451112134345212223534531323363445414243 то есть, 5 чисел повторяются 2 раза, 3 числа повторяются 3 раза, в том числе 2 из них повторяются 4 раза, других повторов нет Что является решением? 5 чисел? 3? 2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 18:41:13 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Cygapb-007а теперь я не понял... Да, вы правы. Не так работает. Приоритет - в результате должны быть 10, 20, 30, 40, 50. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 19:00:02 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Cygapb-007а теперь я не понял... Вот та же фигня. Прискакал чел за советом, не зная точно, чего ему надо (или не умея до конца объяснить, что в общем одно и то же). Впрочем, не он первый... а, нам не привыкать, подробности вытрясем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 19:00:51 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Ага... всё-таки длина - абсолютный приоритет. Ну тогда решение верное, только сортировку взять другую, по количеству элементов, типа ORDER BY COUNT(g.c_val). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 19:04:38 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
AkinaВот та же фигня. Прискакал чел за советом, не зная точно, чего ему надо (или не умея до конца объяснить, что в общем одно и то же). Впрочем, не он первый... а, нам не привыкать, подробности вытрясем Посмотрел свои сообщения. Вроде бы все правильно я озвучил. AkinaАга... всё-таки длина - абсолютный приоритет. Ну тогда решение верное, только сортировку взять другую, по количеству элементов, типа ORDER BY COUNT(g.c_val). Применил запрос с вашей корректировкой для таблицы из поста Cygapb-007 выше - не правильно отработал. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2015, 19:37:44 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
hubble.tvvПрименил запрос с вашей корректировкой для таблицы из поста Cygapb-007 выше - не правильно отработал. То, что тебе дают ответы на твои вопросы, не означает, что нужно перестать пользоваться мозгом. Ты в каком порядке сортируешь? Нахрена тебе группа с минимальным значением количества элементов? Где DESC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2015, 08:47:31 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
С максимальным числом повторов внутри строк оказалось сложнее. В запросе предполагается, что числа внутри каждой строки числа отсортированы (по возрастанию, например), иначе не будет правильно работать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Фрагмент результата на тестовых данных:retries row_qty rows vals5 3 11,12,13 10,20,30,40,504 2 1,4 1,3,4,64 2 14,15 4,5,6,123 4 1,4,5,6 3,4,63 4 1,14,15,16 4,5,63 3 5,14,15 4,6,12 В MySQL нет конструкции TOP(1) WITH TIES , поэтому как отобрать несколько строк с одинаковым количеством максимальных совпадений, я не задумывался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2015, 18:38:08 |
|
||
|
Помогите составить запрос по макс. кол-ву совпадений
|
|||
|---|---|---|---|
|
#18+
Ну, то есть не так, проще, конечно же... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2015, 06:48:46 |
|
||
|
|

start [/forum/topic.php?all=1&fid=47&tid=1832765]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
109ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 439ms |

| 0 / 0 |
