|
|
|
| Всем привет!
Есть такой запрос
$sql = "SELECT DISTINCT SUBSTRING(date, 1, 10) as date FROM `" . MYSQL_TABLE . "` WHERE cameraid=" . $id . " ORDER by date desc ".$limit_days;
Он возвращает все уникальные дни из таблицы. в день около 3000 записей.
У некоторых записей status равен 1 или 0 как узнать в этомже запросе есть ли в этом дне хоть одна запись с статусом не равным 0 ?
Пробовал так:
$sql = "SELECT DISTINCT SUBSTRING(date, 1, 10) as date, status FROM `" . MYSQL_TABLE . "` WHERE cameraid=" . $id . " GROUP BY date ORDER by date desc ".$limit_days;
тогда дни в которых есть события выводятся дважды.,
как быть? | |
|
|
|
|
|
|
|
для: gus
(18.08.2009 в 16:18)
| |
SELECT DATE(`date`) AS `dt`, SUM(`status`) AS sumstatus
FROM `tbl`
GROUP BY `dt`
|
| |
|
|
|
|
 66.4 Кб |
|
|
для: Trianon
(18.08.2009 в 16:31)
| | Спасибо сделал:
SELECT DISTINCT DATE(date) as date, SUM(status) AS status FROM `webcam` WHERE cameraid=1 GROUP BY date ORDER by date desc
Прикрепляю результат ввиде скриншота:
Как сделать чтобы выводило только если status = 1 а то он выводит и если 1 и если 0 . | |
|
|
|
|
|
|
|
для: gus
(18.08.2009 в 17:00)
| | Здесь не требуется DISTINCT .
Вы переписали алиасы так, что их имена стали совпадать с именами полей задействованных таблиц .
Это крайне неряшливый подход, и он частенько провоцирует ошибки.
>Как сделать чтобы выводило только если status = 1 а то он выводит и если 1 и если 0 .
Нужно применить HAVING status | |
|
|
|
|
|
|
|
для: Trianon
(18.08.2009 в 17:16)
| | Спасибо ваш совет помог. сделат точно как вы написали и всё заработало! спасибо! | |
|
|
|