SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 16.04.2008 10:14:26

red21
Участник
Зарегистрирован: 28.03.2008
Сообщений: 4

выборка статистики

есть таблица t1
id --- user --- bonus---date
в нее вносятся пользователи их бонус и дата получения бонуса.

из нее нужно выбрать
user; колличество бонусов >=0; сумма колличество бонусов >=0; колличество бонусов <0; сумма колличество бонусов <0

создал таблицу t2, откинул туда USER исключив повторения их в t1
в ней сделал поля
id;user;bol(колличество бонусов >=0);sbol(сумма колличество бонусов >=0);me(колличество бонусов <0);sme(сумма колличество бонусов <0)

вопрос как организовать выборку из t1 чтоб заполнить t2
1- забрать из t2.user выбрать его из t1.user
2- посчитать <>0 и сумму
3- закинкть  в t2 данные

Отредактированно red21 (16.04.2008 11:23:46)

Неактивен

 

#2 16.04.2008 12:12:42

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: выборка статистики

Код:

INSERT INTO t2 (user, bol, sbol, me, sme) -- перечисляем столбцы для вставки
-- далее формируем данные для ставки напрямую из запроса SELECT
SELECT     
    user,
    SUM(IF(bonus >= 0, 1, 0)), -- количество бонусов >= 0
    SUM(IF(bonus >= 0, bonus, 0)), -- сумма бонусов >= 0
    SUM(IF(bonus < 0, 1, 0)), -- количество бонусов < 0
    SUM(IF(bonus < 0, bonus, 0)) -- сумма бонусов < 0
FROM t1 
GROUP BY user;

Неактивен

 

#3 16.04.2008 13:40:55

red21
Участник
Зарегистрирован: 28.03.2008
Сообщений: 4

Re: выборка статистики

ругается на синтаксис в "SUM(IF(bonus >=0), 1, 0)"

Неактивен

 

#4 16.04.2008 13:47:57

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: выборка статистики

Пардон. Исправил (когда писал ответ, спешил и не успел проверить, поэтому скобку не там поставил).

Неактивен

 

Board footer

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