Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: SUM() COUNT() за неделю, день, всего в одном запросе
 
 автор: Слух   (27.01.2010 в 18:35)   письмо автору
 
 

Возможно ли такое?
Есть любая произвольная таблица например
id name adddate posts

Можно ли одним запросом получить количество записей или сумму posts за сегодня, за последнюю неделю, и всего?
Сейчас это работает вот так, выглядит страшно, да и работает не быстро, возможно есть какойто вариант? Или лучше использовать 3 запроса?

SELECT
                (
                    SELECT 
                        SUM(`posts`) 
                    FROM 
                        table
                    WHERE
                        adddate="'.$today.'"
                ) AS day_count,
                (
                    SELECT 
                        SUM(`posts`) 
                    FROM 
                        table
                    WHERE
                        adddate>="'.$week.'" AND
                        adddate<="'.$today.'"
                ) AS week_count,
                (
                    SELECT 
                        SUM(`posts`) 
                    FROM 
                        table
                ) AS all_count

  Ответить  
 
 автор: Слух   (27.01.2010 в 18:51)   письмо автору
 
   для: Слух   (27.01.2010 в 18:35)
 

Спасибо поиску) Может кому пригодится все делается через условия в функции
SUM(IF(adddate="'.$today.'", `count`, NULL)) as day_count

  Ответить  
 
 автор: Trianon   (28.01.2010 в 20:30)   письмо автору
 
   для: Слух   (27.01.2010 в 18:51)
 

$sql = "SELECT SUM((`adddate`=$today_val) * `count`) as day_count ...";

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования