|
|
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! делаю запрос Код: sql 1. 2. 3. получаю ответ вида: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. как (походу новым запросом) мне получить кол-во повторяющихся подрядидущих элементов? тоесть нужно что-то типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. заранее благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 17:36:23 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
Ну например Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 17:39:34 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
А, пардон, неверно интерпретировал задачу. Тебе нужно просто Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 17:44:12 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
простите меня грешного, слишком уж упростил свой вопрос, из-за этого ответ получил конечно правильный, но (как в старом анекдоте) абсолютно бесполезный. на самом деле все намного сложнее. в базе таблица с пятью id'шниками Код: sql 1. ответ будет что-то типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. так вот, теперь нужно подсчитать повторы в каждом столбце. тоесть в one_id - 3 единицы и 6 двоек. а запрос Код: sql 1. 2. 3. выдаст совсем не те результаты! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 18:07:54 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
...а при условии, что в one_id присутствуют только 1 и 2, этот запрос выдаст всего 2 строки ответа. причем штук 200 единиц и штук 400 двоек))) (если в таблице 600 записей) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 18:11:44 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
S_Layer Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. так вот, теперь нужно подсчитать повторы в каждом столбце. тоесть в one_id - 3 единицы и 6 двоек. а запрос Код: sql 1. 2. 3. выдаст совсем не те результаты! Запрос выдаст one_id COUNT(*)1326 По-моему, результат ПРАВИЛЬНЫЙ. Или ты хочешь одно, а объясняешь совсем другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 18:27:46 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
да, вот в чем косяк недосказанности. действительно в данном случае оно работает. при запросе всех имеющихся столбцов результат ответа (по количеству строк ответа) будет строго соответствовать количеству записей в таблице. в настоящий момент у меня их 85 НО... простите за недомолвки, имеют место быть запросы, когда не все поля интересуют. запрос типа Код: sql 1. 2. 3. (запрашиваем 1й столбец, 2ой и 4ый. группировка по последнему в запросе столбцу не требуется). строк ответов получаем всего 11 после чего делаем запрос Код: sql 1. 2. 3. и получаем one_idCOUNT(*)121264,а хотелось бы получить 4, 7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 19:16:00 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
всех сердечно благодарю! гланды было решено вырвать программно, тобишь через **пу. вся эта ботва теперь обрабатывается делфёй и знаете ли, пока меня устраивает то малое кол-во строк кода, которое на это понадобилось... но если, все же, кто-то найдет решение этой задачи - буду премного признателен за экспу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 03:57:51 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
S_Layerзапрос типа Код: sql 1. 2. 3. (запрашиваем 1й столбец, 2ой и 4ый. группировка по последнему в запросе столбцу не требуется). строк ответов получаем всего 11 после чего делаем запрос Код: sql 1. 2. 3. и получаем one_idCOUNT(*)121264,а хотелось бы получить 4, 7Что-то я не пойму, а если просто сделать Код: sql 1. 2. 3. , не будет ли это тем, чего вы хотите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 06:39:04 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
S_Layer, в исходной постановке вопроса не хватает, как минимум, поля, по которому следует упорядочивать данные именно в таком порядке, а не в каком-то другом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 06:49:43 |
|
||
|
Количество подрядидущих значений
|
|||
|---|---|---|---|
|
#18+
S_Layer, Запросом задача решалась бы элементрано, будь в MySQL аналитические (оконные) функции. Как минимум можно было решать методом начала групп + накопительный итог (функции lead(...)/lag(...) over(...), sum(...) over(order by ...) ), либо посредством инварианта группы (по разности двух разноконных row_number() over()) Но в MySQL этих прелестей пока нет, поэтому решения на SQL будет очень громоздким и врятли эффективным. Проще на клиенте посчитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2015, 07:04:53 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1833408]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
110ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 418ms |

| 0 / 0 |
