2016-06-08 5 views
2

Привет я разобраться в PHP MySQL базы данных сообщений с полями:PHP MySQL база данных оператор выбора

id, sms_text, receiver _number, time_sent, status. 

Я хочу, чтобы иметь общее количество в тот день (CurDate) запись на номер смс отправленных с количеством успешно доставленных и количеством неудачных. т.е. Всего смс было отправлено ____, ______ доставлен, ____failed

Howerver,

SELECT DATE(time_sent) AS date, SUM() AS total_sales 
    SELECT DATE(time_sent) AS date, SUM(status) AS total_sent from smsdb; 

, кажется, не разобраться.

Просьба, любая помощь?

ответ

1

В подсчетов булева MySQL, как 1 (для истинно) и 0 (для ложно), так что вы можете в основном это сделать:

SELECT DATE(time_sent) AS `date`, 
     COUNT(*) as total_sent, 
     SUM(status = 'succesfuly') as `delivered`, 
     SUM(status = 'failed') AS `failed` 
FROM smsdb 
GROUP BY DATE(time_sent) 

я не знаю status варианты столбцов, изменить его от succesfuly,failed к фактические.

Я не понимал, что вы пытались сделать с вашим запросом, но у вас было несколько проблем.

SUM() -- you have to specify what to sum 

И вам не хватало предложение по группе.

+1

Собственно, из ваших рекомендаций это работает как шарм. Спасибо. –

Смежные вопросы