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

Форум MySQL

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

 

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

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

тема: подсчитать кол-во записей для существующих дат
 
 автор: web777   (14.09.2008 в 23:47)   письмо автору
 
 

не могу сообразить, на локалке всё работает, данные выводятся, но на сервере почемуто ничего не выводит, вот сам запрос

$q = mysql_query("select date,id,count(id) as count from data group by year(date),month(date),day(date) order by date");


что не правильно?
вообще нужно чтобы можно было подсчитать кол-во записей в дате, примерно такой должен поучится список

2006-09-05 (10)
2006-09-10 (68)
2006-09-13 (4)
2007-02-11 (1)


while($row = mysql_fetch_array($q)){
 echo substr($row['date'],0,4).'-'.substr($row['date'],5,-12).'-'.substr($row['date'],8,-9).'('.$row['count'].')<br>';
}


то что в скобках это количество записей, которое выводится count

  Ответить  
 
 автор: Trianon   (14.09.2008 в 23:59)   письмо автору
 
   для: web777   (14.09.2008 в 23:47)
 

убрfть id из запроса и в поставить group by `date` вместо всей этой гирлянды.

  Ответить  
 
 автор: web777   (15.09.2008 в 00:48)   письмо автору
 
   для: Trianon   (14.09.2008 в 23:59)
 

делаю так запрос

$q = mysql_query("select date,count(id) as count from data group by date");

но список получается таким

2007--(1)
2008--(1)
2008--(5)
2008--(1)
2008--(4)
2008--(1)

почемуто месяц и день кудато делись
но это в случаи если поле date имеет тип как date

если же тип поля даты как datetime и если у всех время стоит нулевое 00:00:00
то всё нормально если же время разное то уже подсчет не верный

заметил что стала выдаваться ошибка

The Error returned was:
Got error 12 from storage engine

Error Number:
1030

  Ответить  
 
 автор: Trianon   (15.09.2008 в 01:57)   письмо автору
 
   для: web777   (15.09.2008 в 00:48)
 

Ну наверное это несколько неожиданно, когда поле с именем date имеет тип datetime?
Это, скажем так, если без мата отвечать.

SQL-функция date() позволит получить только дату из всего поля дата-время.

  Ответить  
 
 автор: web777   (15.09.2008 в 02:25)   письмо автору
 
   для: Trianon   (15.09.2008 в 01:57)
 

а как ей воспользоваться этой SQL date() функцией ?

тут заметил что как только упоменается group by в запросе, так тутже выдаётся сообщение
Got error 12 from storage engine

мдя...

  Ответить  
 
 автор: Trianon   (15.09.2008 в 09:36)   письмо автору
 
   для: web777   (15.09.2008 в 02:25)
 

<? 
$sql 
"select date(`date`) as dateonly, count(id) as cnt 
from `data` group by dateonly order by dateonly"
;
$q mysql_query($sql);
if(!
$q) exit("Erorr in $sqlmysql_error());
while(
$row mysql_fetch_assoc($q)) echo $row['dateonly'].' ('.$row['cnt'].')<br>';

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

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