Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
с одинарным вложением понятно: Код: sql 1. 2. 3. 4. 5. но вот например появляется ещё одна колонка с отдельным общий значением - `on`=1/0 (включено/выключено) и мне нужно посчитать раздельно `totals1_on` и `totals1_off` остаётся только WHEN `on`=1 AND `col1`=1 или ещё как-то можно? если бы только можно было: Код: sql 1. но нельзя ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 16:58 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
Никаких вложений условий тут нет, это суперпозиция условий, НАложение. Но это лирика. Очевидно же, что при таком подходе нужно писать более сложные условия в CASE-выражении, и расписывать таким образом все возможные нужные сочетания этих условий. Или ты про логические операции AND/OR/NOT ничего не знаешь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 17:05 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
MasterZivИли ты про логические операции AND/OR/NOT ничего не знаешь ? а это что авторостаётся только WHEN `on`=1 AND `col1`=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 17:12 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
Так а чего ты тогда спрашиваешь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 17:14 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
может и очевидно, но где-то в воздухе крутится более элегантное решение... пока сделал так: (SELECT COUNT(CASE WHEN `col1`=1 THEN 1 END) AS `total1`, COUNT(CASE WHEN `col2`=1 THEN 1 END) AS `total2`, COUNT(CASE WHEN `col3`=1 THEN 1 END) AS `total3` FROM `table` WHERE `on`=1) UNION ALL (SELECT COUNT(CASE WHEN `col1`=1 THEN 1 END) AS `total1`, COUNT(CASE WHEN `col2`=1 THEN 1 END) AS `total2`, COUNT(CASE WHEN `col3`=1 THEN 1 END) AS `total3` FROM `table` WHERE `on`=0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 17:14 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
tip78, Код: sql 1. Это можно записать чуть короче: Код: sql 1. Если поле `on` не имеет других значений, то можно так: Код: sql 1. 2. 3. 4. 5. 6. 7. Если поле `on` имеет другие значения, но они не нужны в этом запросе, то отфильтровать секцией WHERE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 22:44 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
во, от вас всегда самые дельные решения спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 03:25 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
Это только в MySQL так можно делать из-за нестандартный интерпретации выражений как булевых величин. Я бы ни за что так не писал даже в mySQL, потому что никто не знает, как это работает, и как будет работать завтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 07:29 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
MasterZivникто не знает, как это работаетВы походу единственный, кто НЕ знает, что при сравнении в качестве TRUE возвращается единица, а в качестве FALSE - ноль... и это явно описано в документации... Comparison operations result in a value of 1 (TRUE), 0 (FALSE), or NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 07:56 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
Akina, еще раз, я это знаю и я об этом написал . как написал, что эта фича есть только в мускуле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 10:17 |
|
||
|
как посчитать двойное вложение условий?
|
|||
|---|---|---|---|
|
#18+
это потому что булев тип нельзя напечатать, он как бы эфемерен поэтому печатают -1/0/1 в пхп,perl,JS,bash и ещё чёрт знает где проги возвращают статусы цифрами тоже но через строгое соответствие === можно ловить и були https://ru.wikipedia.org/wiki/Логический_тип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 13:11 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39403174&tid=1830917]: |
0ms |
get settings: |
32ms |
get forum list: |
20ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
86ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 1055ms |
| total: | 1266ms |

| 0 / 0 |
