|
|
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
вот есть такой вывод: Код: plsql 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. pack это пакет с правилами sub это сами правила здесь выводятся только совпавшие, но вообще мне надо найти такие bankID, в которых совпали ВСЕ правила из `pack` скажем, для bankID=1 там 5 sub на самом деле, а совпало только 4, значит он мне не нужен а для bankID=2 всего 3 sub и он подойдёт вот щас думаю, как это лучше сделать самый простой вариант - в пхп посчитать кол-во и сравнить с select * from table where bankID IN (список совпавших) т.е. делать ещё 1 запрос по общему кол-ву правил думал ещё про temporary table как то через сам sql можно упростить? и чтобы без функций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 16:05:55 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
GROUP BY + HAVING COUNT(DISTINCT) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 16:53:43 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
ok HAVING не придумал, как воткнуть, а без него вот такой результат: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. SELECT `bankID`,`pack`,count(`sub`) as sb FROM `filters` GROUP BY `bankid`,`pack` ORDER BY `bankid`,`pack`; как теперь оставить только те `bankID`, у которых хотя бы 1 `pack` захватил ВСЕ свои `sub` ? как я говорил, у bankID=1 их найдено 4, а надо 5, значит он мимо а у bankID=2 их как раз 3, значит он остаётся каждому подзапрос делать нехочется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 17:14:15 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
tip78у bankID=1 их найдено 4, а надо 5, значит он мимо а у bankID=2 их как раз 3, значит он остаётся Вот интересно, а как запрос догадается, что у bankID=1 их 5, а у bankID=2 их только три? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 17:16:53 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
Akina, ну как вариант - делать подзапрос в эту же таблицу считая, сколько там всего `sub` у данного `pack` но я ищу чё-то поизящнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 17:33:55 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
хотя бы через общий запрос отдельный, через временную таблицу может зы: блин, почему тут редактировать нельзя мессаги свои ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 17:36:06 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
tip78считая, сколько там всего `sub` у данного `pack`Итицкая сила! Покажи НА ТВОИХ ДАННЫХ, блин, где ты там 5 насчитал??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 18:15:12 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
Akinatip78считая, сколько там всего `sub` у данного `pack`Итицкая сила! Покажи НА ТВОИХ ДАННЫХ, блин, где ты там 5 насчитал??? Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 18:23:09 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
Я от тебя что просил? НА ТВОИХ ДАННЫХ. Вот тех самых, которые ты в начале темы запостил. Глазки подыми и посчитай повнимательнее - там только ЧЕТЫРЕ записи для bankid=1 and pack=1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 20:22:36 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
AkinaЯ от тебя что просил? НА ТВОИХ ДАННЫХ. Вот тех самых, которые ты в начале темы запостил. Глазки подыми и посчитай повнимательнее - там только ЧЕТЫРЕ записи для bankid=1 and pack=1. ты сам то глазки подыми и прочитай повнимательнее: авторскажем, для bankID=1 там 5 sub на самом деле, а совпало только 4, значит он мне не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 20:26:19 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
Ну так вот и делай Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 20:29:29 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
AkinaНу так вот и делай Код: sql 1. так для каждого банка отдельный запрос получится я так не хочу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 20:40:30 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
Или ты дашь все данные, которыми оперируешь, или можешь и дальше не хотеть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2015, 22:57:42 |
|
||
|
как правильно посчитать многострочный результат?
|
|||
|---|---|---|---|
|
#18+
AkinaИли ты дашь все данные, которыми оперируешь, или можешь и дальше не хотеть... да какие ещё детали? последнее отдал, от сердца оторвал есть таблица фильтров, у каждого банка их несколько чтобы банк совпал, нужно чтобы совпали ВСЕ фильтры этого банка если совпало 4 из 5, он не нужен, нужно 5 из 5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 10:01:11 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=139&tid=1833276]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 364ms |

| 0 / 0 |
