SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#26 25.02.2016 12:46:01

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Помогите с запросом

Данные не считаются, что делаю не так? Данные за Ср, Чт есть а рассчет Всего не работает


mysql> select Block, Unit, Xnumber, Model,sum(if(DAYOFWEEK(Dprint)=2,`Count`,0)) as 'ПН', sum(if(DAYOFWEEK(Dprint)=3,`Count`,0)) as 'ВТ',
    -> sum(if(DAYOFWEEK(Dprint)=4,`Count`,0)) as 'СР',sum(if(DAYOFWEEK(Dprint)=5,`Count`,0)) as 'ЧТ',
    -> sum(if(DAYOFWEEK(Dprint)=6,`Count`,0)) as 'ПТ',
    -> GREATEST(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0)), sum(if(DAYOFWEEK(Dprint)=3,`Count`,0)),
    -> sum(if(DAYOFWEEK(Dprint)=4,`Count`,0)),sum(if(DAYOFWEEK(Dprint)=5,`Count`,0)),
    -> sum(if(DAYOFWEEK(Dprint)=6,`Count`,0))) - LEAST(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))=100000000, sum(if(DAYOFWEEK(Dprint)=3,`Count`,0))=100000000,
    -> sum(if(DAYOFWEEK(Dprint)=4,`Count`,0))=100000000,sum(if(DAYOFWEEK(Dprint)=5,`Count`,0))=100000000,
    -> sum(if(DAYOFWEEK(Dprint)=6,`Count`,0)))=100000000 AS `Всего`
    -> from print where week(Dprint, 3) = week(now(), 3)
    -> group by Block,Unit,Xnumber;
+------------------------+------------------------+------------+--------------------------+------+------+---------+---------+------+-------+
| Block                  | Unit                   | Xnumber    | Model                    | ПН   | ВТ   | СР      | ЧТ      | ПТ   | Всего |
+------------------------+------------------------+------------+--------------------------+------+------+---------+---------+------+-------+
| ИТ                     | ОИТ                    | 0930070136 | Xerox_WorkCentre_6505_DN |    0 |    0 |    1775 |    1815 |    0 |     0 |
| Корпоративный          | КИБ                    | 0930070125 | Xerox_WorkCentre_3325    |    0 |    0 |   22041 |   22194 |    0 |     0 |
| Корпоративный          | Кредитный              | 0930070110 | Xerox_WorkCentre_3315    |    0 |    0 |   11592 |   11795 |    0 |     0 |
| Корпоративный          | ООЮЛ                   | 0930070042 | HP_LaserJet_4250         |    0 |    0 | 1481395 | 1481613 |    0 |     0 |
| Корпоративный          | ООЮЛ                   | 0930070065 | HP_LaserJet_M2727nf      |    0 |    0 |   66709 |   66768 |    0 |     0 |
| Корпоративный          | ООЮЛ                   | 0930070114 | Xerox_WorkCentre_3615    |    0 |    0 |   72079 |   72174 |    0 |     0 |
| Массовый_бизнес        | ДП_УМБ                 | 0930070032 | Xerox_WorkCentre_3550    |    0 |    0 |  162736 |  162837 |    0 |     0 |
| Массовый_бизнес        | ДП_УМБ                 | 0930070038 | HP_LaserJet_3052n        |    0 |    0 |   72346 |   72354 |    0 |     0 |
| Массовый_бизнес        | ДП_УМБ                 | 0930070106 | Xerox_WorkCentre_3615    |    0 |    0 |   91311 |   91756 |    0 |     0 |
| Массовый_бизнес        | ДП_УМБ                 | 0930070107 | Xerox_Phaser_6600DN      |    0 |    0 |    2997 |    3021 |    0 |     0 |
| Массовый_бизнес        | ДП_УМБ                 | 0930070123 | Xerox_WorkCentre_3325    |    0 |    0 |   38400 |   38489 |    0 |     0 |
| Массовый_бизнес        | ОО_Волочаевский        | 0930070096 | Xerox_WorkCentre_3615    |    0 |    0 |   44385 |   44573 |    0 |     0 |
| Массовый_бизнес        | ОО_Континентальный     | 0930070117 | Xerox_WorkCentre_3315    |    0 |    0 |  129099 |  129167 |    0 |     0 |
| Массовый_бизнес        | ОО_Маршала_Жукова      | 0930070077 | HP_LaserJet_M1536dnf     |    0 |    0 |  158126 |  158239 |    0 |     0 |
| Массовый_бизнес        | ОО_Маршала_Жукова      | 0930070122 | Xerox_WorkCentre_3325    |    0 |    0 |   18568 |   18661 |    0 |     0 |
| Массовый_бизнес        | ОО_Проспект_культуры   | 0930070090 | Xerox_WorkCentre_3325    |    0 |    0 |   21319 |   21325 |    0 |     0 |
| Массовый_бизнес        | ОО_Проспект_культуры   | 0930070093 | Xerox_WorkCentre_3325    |    0 |    0 |   27257 |   27310 |    0 |     0 |
| Массовый_бизнес        | ОО_Юность              | 0930070013 | Xerox_WorkCentre_3550    |    0 |    0 |   85304 |   85440 |    0 |     0 |
| Операционный           | ГФМ                    | 0930070127 | Xerox_WorkCentre_3325    |    0 |    0 |   15661 |   15861 |    0 |     0 |
| Операционный           | Касса                  | 0930070128 | Xerox_WorkCentre_3325    |    0 |    0 |   65125 |   65426 |    0 |     0 |
| Операционный           | ОТОР                   | 0930070101 | Xerox_WorkCentre_3615    |    0 |    0 |   15495 |   15532 |    0 |     0 |
| Операционный           | ОТОР                   | 0930070103 | Xerox_Phaser_4622        |    0 |    0 |   78875 |   79172 |    0 |     0 |
| Операционный           | ОТОР                   | 0930070126 | Xerox_WorkCentre_3325    |    0 |    0 |   14983 |   15027 |    0 |     0 |
| Операционный           | Служба_инкассации      | 0930070111 | Xerox_WorkCentre_3220    |    0 |    0 |   13673 |   13675 |    0 |     0 |
| Председателя_правления | АХО                    | 0930070092 | Xerox_WorkCentre_3325    |    0 |    0 |    4161 |    4167 |    0 |     0 |
| Председателя_правления | Бухгалтерия            | 0930070124 | Xerox_WorkCentre_3325    |    0 |    0 |   22623 |   22678 |    0 |     0 |
| Председателя_правления | Кадры                  | 0930070099 | Xerox_WorkCentre_3315    |    0 |    0 |    4518 |    4581 |    0 |     0 |
| Председателя_правления | Приёмная               | 0930070083 | Xerox_WorkCentre_3315    |    0 |    0 |   15283 |   15323 |    0 |     0 |
| Председателя_правления | Тренера                | 0930070109 | Xerox_WorkCentre_3325    |    0 |    0 |   20694 |   20983 |    0 |     0 |
| Председателя_правления | Юридический            | 0930070089 | Xerox_WorkCentre_3325    |    0 |    0 |   32454 |   32457 |    0 |     0 |
| Розничный_бизнес       | БПК                    | 0930070045 | HP_LaserJet_P4015n       |    0 |    0 |  558866 |  558982 |    0 |     0 |
| Розничный_бизнес       | БПК                    | 0930070081 | Xerox_WorkCentre_3615    |    0 |    0 |   15455 |   15497 |    0 |     0 |
| Розничный_бизнес       | ККО_Академический      | 0930070075 | HP_LaserJet_3052n        |    0 |    0 |  234585 |  234681 |    0 |     0 |
| Розничный_бизнес       | ККО_Академический      | 0930070097 | Xerox_Phaser_3610        |    0 |    0 |   56696 |   56872 |    0 |     0 |
| Розничный_бизнес       | ККО_Академический      | 0930070119 | Xerox_WorkCentre_3220    |    0 |    0 |   80879 |   80879 |    0 |     0 |
| Розничный_бизнес       | ККО_Академический      | 0930070130 | Xerox_WorkCentre_3325    |    0 |    0 |   12244 |   12352 |    0 |     0 |
| Розничный_бизнес       | ККО_Академический      | 0930070131 | Xerox_WorkCentre_3325    |    0 |    0 |   31807 |   31881 |    0 |     0 |
| Розничный_бизнес       | ККО_Иртыш              | 0930070010 | Xerox_WorkCentre_3315    |    0 |    0 |   53623 |   53805 |    0 |     0 |
| Розничный_бизнес       | ККО_Иртыш              | 0930070087 | Xerox_WorkCentre_3325    |    0 |    0 |   13181 |   13226 |    0 |     0 |
| Розничный_бизнес       | ККО_Иртыш              | 0930070132 | Xerox_Phaser_3320        |    0 |    0 |   11608 |   11713 |    0 |     0 |
| Розничный_бизнес       | ККО_Иртыш              | 0930070133 | Xerox_Phaser_3320        |    0 |    0 |    8614 |    8690 |    0 |     0 |
| Розничный_бизнес       | ККО_Иртыш              | 0930070134 | Xerox_Phaser_3320        |    0 |    0 |   18175 |   18427 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Парк_культуры | 0930070015 | Xerox_WorkCentre_3220    |    0 |    0 |   24550 |   24645 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Парк_культуры | 0930070016 | Xerox_Phaser_3250        |    0 |    0 |   10919 |   10928 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Парк_культуры | 0930070017 | Xerox_WorkCentre_3315    |    0 |    0 |   44370 |   44451 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Парк_культуры | 0930070018 | Xerox_Phaser_3250        |    0 |    0 |   27399 |   27399 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Парк_культуры | 0930070019 | Xerox_Phaser_3600DN      |    0 |    0 |  162095 |  162444 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Парк_культуры | 0930070027 | Xerox_WorkCentre_3550    |    0 |    0 |  137939 |  138194 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Тополиный     | 0930070022 | HP_LaserJet_600_M602x    |    0 |    0 |  371818 |  372454 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Тополиный     | 0930070025 | HP_LaserJet_M1536dnf_MFP |    0 |    0 |   36233 |   36266 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Тополиный     | 0930070026 | HP_LaserJet_M1536dnf_MFP |    0 |    0 |   90288 |   90392 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Тополиный     | 0930070028 | HP_LaserJet_M1536dnf_MFP |    0 |    0 |  117671 |  117691 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Тополиный     | 0930070138 | Xerox_WorkCentre_3325    |    0 |    0 |    3211 |    3404 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Успенский     | 0930070002 | Xerox_WorkCentre_3550    |    0 |    0 |  281833 |  282012 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Успенский     | 0930070005 | HP_LaserJet_M1536dnf_MFP |    0 |    0 |   55705 |   55755 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Успенский     | 0930070094 | Xerox_WorkCentre_3325    |    0 |    0 |    4587 |    4587 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Успенский     | 0930070095 | Xerox_WorkCentre_3325    |    0 |    0 |   29889 |   30055 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Успенский     | 0930070100 | Xerox_Phaser_3610        |    0 |    0 |   13158 |   13216 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Юбилейный     | 0930070030 | HP_LaserJet_3052n        |    0 |    0 |   84769 |   84809 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Юбилейный     | 0930070082 | Xerox_WorkCentre_3615    |    0 |    0 |  114783 |  115231 |    0 |     0 |
| Розничный_бизнес       | ККО_Омск-Юбилейный     | 0930070091 | Xerox_WorkCentre_3325    |    0 |    0 |   35609 |   35775 |    0 |     0 |
| Розничный_бизнес       | ОРКК                   | 0930070012 | Xerox_WorkCentre_3550    |    0 |    0 |  558866 |  270466 |    0 |     0 |
| Розничный_бизнес       | ОРКК                   | 0930070014 | Xerox_WorkCentre_3550    |    0 |    0 |  203113 |  203285 |    0 |     0 |
| Розничный_бизнес       | ОРКК                   | 0930070085 | Xerox_WorkCentre_4260    |    0 |    0 |   89328 |   89533 |    0 |     0 |
| Розничный_бизнес       | ОРКК                   | 0930070088 | Xerox_WorkCentre_3325    |    0 |    0 |   40263 |   40301 |    0 |     0 |
| ЭБ                     | СЭБ                    | 0930070104 | Xerox_WorkCentre_3615    |    0 |    0 |   20107 |   20228 |    0 |     0 |
+------------------------+------------------------+------------+--------------------------+------+------+---------+---------+------+-------+
66 rows in set (0.00 sec)

mysql>



 

Отредактированно Tera2017 (25.02.2016 12:47:19)

Неактивен

 

#27 25.02.2016 13:05:35

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите с запросом

нужно
LEAST(if(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))=0, 1000000, sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))), ВТ,СР,ЧТ,ПТ)
а у вас
LEAST(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))=100000000, ВТ,СР,ЧТ,ПТ)


понедельник для LEAST это if(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))=0, 1000000, sum(if(DAYOFWEEK(Dprint)=2,`Count`,0)))
аналогично ВТ,СР,ЧТ,ПТ

Неактивен

 

#28 25.02.2016 13:22:50

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Помогите с запросом

Не считает, поле всего забивается                0
                                                         100000000

Что делаю не так, запрос вроде правильный есть ошибки?


select Block, Unit, Xnumber, Model,sum(if(DAYOFWEEK(Dprint)=2,`Count`,0)) as 'ПН', sum(if(DAYOFWEEK(Dprint)=3,`Count`,0)) as 'ВТ',
sum(if(DAYOFWEEK(Dprint)=4,`Count`,0)) as 'СР',sum(if(DAYOFWEEK(Dprint)=5,`Count`,0)) as 'ЧТ',sum(if(DAYOFWEEK(Dprint)=6,`Count`,0)) as 'ПТ',
GREATEST(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0)), sum(if(DAYOFWEEK(Dprint)=3,`Count`,0)),
sum(if(DAYOFWEEK(Dprint)=4,`Count`,0)),sum(if(DAYOFWEEK(Dprint)=5,`Count`,0)),
sum(if(DAYOFWEEK(Dprint)=6,`Count`,0)))-LEAST(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))=0,100000000, sum(if(DAYOFWEEK(Dprint)=3,`Count`,0))=0,100000000,
sum(if(DAYOFWEEK(Dprint)=4,`Count`,0))=0,100000000,sum(if(DAYOFWEEK(Dprint)=5,`Count`,0))=0,100000000,
sum(if(DAYOFWEEK(Dprint)=6,`Count`,0)))=0,100000000 as 'Всего'
from print where week(Dprint, 3) = week(now(), 3)
group by Block,Unit,Xnumber;
 

Неактивен

 

#29 25.02.2016 13:53:46

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите с запросом

нет не правильный

LEAST(ПН,ВТ,СР,ЧТ,ПТ)

ПН = if(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))=0, 1000000, sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))) 
у вас же
ПН = sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))=0,100000000 

аналогично ВТ,СР,ЧТ,ПТ

Неактивен

 

#30 26.02.2016 08:44:03

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Помогите с запросом

Все получилось, огромное спасибо!!!


select Block, Unit, Xnumber, Model,sum(if(DAYOFWEEK(Dprint)=2,`Count`,0)) as 'ПН', sum(if(DAYOFWEEK(Dprint)=3,`Count`,0)) as 'ВТ',
sum(if(DAYOFWEEK(Dprint)=4,`Count`,0)) as 'СР',sum(if(DAYOFWEEK(Dprint)=5,`Count`,0)) as 'ЧТ',sum(if(DAYOFWEEK(Dprint)=6,`Count`,0)) as 'ПТ',
GREATEST(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0)), sum(if(DAYOFWEEK(Dprint)=3,`Count`,0)),
sum(if(DAYOFWEEK(Dprint)=4,`Count`,0)),sum(if(DAYOFWEEK(Dprint)=5,`Count`,0)),
sum(if(DAYOFWEEK(Dprint)=6,`Count`,0)))-LEAST(if(sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))=0, 10000000, sum(if(DAYOFWEEK(Dprint)=2,`Count`,0))),if(sum(if(DAYOFWEEK(Dprint)=3,`Count`,0))=0, 10000000, sum(if(DAYOFWEEK(Dprint)=3,`Count`,0))),
if(sum(if(DAYOFWEEK(Dprint)=4,`Count`,0))=0, 10000000, sum(if(DAYOFWEEK(Dprint)=4,`Count`,0))),if(sum(if(DAYOFWEEK(Dprint)=5,`Count`,0))=0, 10000000, sum(if(DAYOFWEEK(Dprint)=5,`Count`,0))),if(sum(if(DAYOFWEEK(Dprint)=6,`Count`,0))=0, 10000000, sum(if(DAYOFWEEK(Dprint)=6,`Count`,0)))) AS 'Всего'
from print where week(Dprint, 3) = week(now(), 3)
group by Block,Unit,Xnumber";



Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson