Chef Vendor
Создатель
- Регистрация
- 25 Фев 2009
- Сообщения
- 34
- Реакции
- 0
- Автор темы
- #1
Помогите написать коректный запрос! Собственно пишу маленький скрипт по выведению статистики. Вот таблица:
Задача: подсчитать общее количество записей (продуктов) в таблице и количество записей с `sold`=1 (тоесть проданых) за период времени. Первую чать реализовал так:
... но таким макаром нужно сделать ещё сотню запростов в цикле к субд для реализации второй части, что не приемлемо. была попытка написать запрос так:
..но во втором вложеном запросе количество строк гараздо меньше и данние дифференцируются.
Кто сталкивался с подобным посоветуйте чё делать!
PHP:
CREATE TABLE IF NOT EXISTS `statistic` (
`id` int(10) unsigned NOT NULL auto_increment,
`date_time` datetime NOT NULL,
`product` int(10) unsigned NOT NULL,
`sold` int(1) unsigned NOT NULL
)
PHP:
SELECT product, COUNT(*) AS 'count'
FROM statistic
WHERE product<>0 AND statistic.date_time < '2009-08-10 20:39:43' AND statistic.date_time >='2009-08-01 00:00:00'
GROUP BY product
ORDER BY 'count' DESC
LIMIT 100
PHP:
SELECT a_product, b_product, count, sold_count
FROM
(SELECT product AS a_product, COUNT(*) AS 'count' FROM statistic WHERE product<>0 AND statistic.date_time < '2009-08-10 20:39:43' AND statistic.date_time >='2009-08-01 00:00:00' GROUP BY product),
(SELECT product AS b_product, COUNT(*) AS 'sold_count' FROM statistic WHERE product<>0 AND statistic.date_time < '2009-08-10 20:39:43' AND statistic.date_time >='2009-08-01 00:00:00' AND sold=1 GROUP BY product)
WHERE a_product=b_product
Кто сталкивался с подобным посоветуйте чё делать!