Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
Есть таблица id | s3 | num 0 | ааа | 1 1 | ббб | 1 2 | ввв | 1 3 | ааа | 2 4 | ббб | 2 5 | ддд | 2 6 | ааа | 3 7 | иии | 3 8 | ббб | 4 9 | ппп | 4 Мне надо выбрать поле num, только тех записей num, в которых поле s3 равно "ааа" и "ббб" одновременно. То есть 1 и 2 num. Не могу понять как это сделать. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 10:10 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
azsxтех записей numЕсли нужны именно numы, то group by. Если все строки с такими numами, то partition by ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 10:34 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 11:18 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
спасибо. То есть верно будет Код: plsql 1. так как вторая выборка используется как служебная для первой? То есть b используется для выборки a? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 11:33 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
извините, скопировал не то, а править не умею. Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 11:34 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
в итоге в group by ничего не получается. С join также всё плохо, так как я не понимаю сути запроса, я не могу, например, добавить третье условие для выборки 'ввв', к примеру. Дайте ссылок на русском чего почитать по теме таких запросов, пожалуйста? Всё что сам нашел по group by мне не подходит совсем, что нашел по join - ваще темный лес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:36 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
azsx, почитайте про having, count(distinct xx) и будет тогда с group by работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2016, 16:42 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
к сожалению так и не добился. Читал, никак не понял как к моему запросу это приспособить этот group by. Зато прочитал (читаю книжку последовательно) решение с массивами. Насколько хорошо будет решение с массивами если у меня сегодня 3 миллиона записей в каждой по 2000 тысячи элементов в среднем? Правильно ли я понял, что ограничений на размер массива нет? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 12:36 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
извините, не то скопировал Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 12:37 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
Допинали. Теперь вопрос, какой запрос лучше. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 15:23 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
сколько людей столько и решений=) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:17 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
только у вас еще больше запросов, это совсем похоронит базу при многих запросах. Напомню, у меня (пересчитал) 6 млн записей num и в среднем на каждом 2000 записей s3. 3*10(6) * 2*10(3) = 6(9) в идеале :) вот мне их лучше в массив или по отдельности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 16:50 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
azsx, если вы считаете что у вас много записей то count лучше обходить стороной. это слабое место в postgres. и в таком случае ваши способы не сработают: 0 | ааа | 1 2 | aaa | 1 3 | ббб | 2 4 | ббб | 2 5 | ддд | 2 6 | ааа | 3 7 | иии | 3 8 | ббб | 4 9 | ппп | 4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 17:03 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
авторесли вы считаете что у вас много записей то count лучше обходить стороной. это слабое место в postgres. спасибо, не знал. То есть вариантов нет - надо делать массив? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 17:08 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
azsx, Для изначально поставленной задачи я бы ещё так попробовал: Код: sql 1. 2. 3. Что будет лучше — нужно смотреть по планам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 17:32 |
|
||
|
Запрос на уникальные значения
|
|||
|---|---|---|---|
|
#18+
vyegorov, точно) я сразу не догадался перепишу на свой лад, но для плана наверное одинаково Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2016, 18:50 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39286992&tid=1997061]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 285ms |

| 0 / 0 |
