Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Можно ли эти запросы собрать в один? 
V
    Опции темы
DenWPF
Дата 20.10.2010, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



Код

SELECT count(id) FROM Сalculation  WHERE id_Person = 23 Group by id_Person

SELECT count(id) FROM Сalculation  WHERE id_Person = 23 and id_Status_Payment = 2 Group by id_Person

SELECT sum(price) FROM Сalculation  WHERE id_Person = 23 Group by id_Person

SELECT sum(price) FROM Сalculation  WHERE id_Person = 23 and id_Status_Payment = 2 Group by id_Person

SELECT sum(price) FROM Сalculation  WHERE id_Person = 23 and id_Status_Payment = 1 Group by id_Person

ну если все нельзя, то хотя бы некоторые.
PM MAIL   Вверх
skyboy
Дата 20.10.2010, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Код

SELECT count(id), sum(price) FROM Сalculation  WHERE id_Person = 23 Group by id_Person

SELECT count(id), sum(price) FROM Сalculation  WHERE id_Person = 23 and id_Status_Payment = 2 Group by id_Person


Добавлено через 28 секунд
можно и все в один собрать. через union all.
PM MAIL   Вверх
DenWPF
Дата 20.10.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



а по производительности? и пример можно?)
PM MAIL   Вверх
Zloxa
Дата 20.10.2010, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(skyboy @  20.10.2010,  15:50 Найти цитируемый пост)

Код

SELECT count(id), sum(price) FROM Сalculation  WHERE id_Person = 23 Group by id_Person
SELECT count(id), sum(price) FROM Сalculation  WHERE id_Person = 23 and id_Status_Payment = 2 Group by id_Person


Код

SELECT count(id)
   , sum(price) 
   , count(case when id_Status_Payment = 2 then id end) count_payment2
   , sum(case when id_Status_Payment = 2 then price end) sum_payment2
FROM Сalculation  
WHER id_Person = 23 
Group by id_Person


Это сообщение отредактировал(а) Zloxa - 20.10.2010, 16:21


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
tishaishii
Дата 25.10.2010, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Код

SELECT count(id) FROM Сalculation  WHERE id_Person = 23 Group by id_Person
union all
SELECT count(id) FROM Сalculation  WHERE id_Person = 23 and id_Status_Payment = 2 Group by id_Person
union all
SELECT sum(price) FROM Сalculation  WHERE id_Person = 23 Group by id_Person
union all
SELECT sum(price) FROM Сalculation  WHERE id_Person = 23 and id_Status_Payment = 2 Group by id_Person
union all
SELECT sum(price) FROM Сalculation  WHERE id_Person = 23 and id_Status_Payment = 1 Group by id_Person


Код

SELECT
  count(id) `c1`,
  sum(id_Status_Payment = 2) `c2`,
  sum(price) `s1`,
  sum(price*(id_Status_Payment = 2)) `s2`,
  sum(price*(id_Status_Payment = 1)) `s3`
from
  Сalculation
where
  id_Person = 23


Это сообщение отредактировал(а) tishaishii - 25.10.2010, 19:56
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0983 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.