Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Груповая выборка данных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
SERIOUS
Отправлено: 03 Октября, 2011 - 15:40:08
Post Id


Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Нужно выбрать из базы данных
id, user_id, file_id, date
Вот это мои задумка как сделать, но сам sql ругается на синтаксис, делаю запросы напрямую в sql вместо $id пишу допустим 1, он всё равно ругается.

Для определённого пользователя, 20 последних файлов и сколько раз он его качал
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT  `file_id` , COUNT(  `file_id` ) ,  `date`
  2.                         FROM 'table'
  3.                         WHERE  `user_id` =  '4'
  4.                         GROUP BY  `file_id`
  5.                         ORDER BY  `date` DESC
  6.                         LIMIT 0 , 20


Он выводит только одну дату, а нужны все.

(Отредактировано автором: 03 Октября, 2011 - 16:15:06)

 
 Top
LIME
Отправлено: 03 Октября, 2011 - 15:49:15
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




так?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `file_id`, count(`file_id`),max(`date`) AS max_date FROM 'table' WHERE `user_id`=$id GROUP BY `file_id` ORDER BY  max_date DESC LIMIT 0,20

(Отредактировано автором: 03 Октября, 2011 - 15:52:23)

 
 Top
SERIOUS
Отправлено: 03 Октября, 2011 - 15:52:07
Post Id


Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




LIME
оно то так, но он выводит одну дату, а мне нужны все даты.
 
 Top
LIME
Отправлено: 03 Октября, 2011 - 15:54:04
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




SERIOUS так зачем тогда указывать максимальную?
так чтоли?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `file_id`, count(`file_id`),`date` FROM 'table' WHERE `user_id`=$id GROUP BY `file_id` ORDER BY  `date` DESC LIMIT 0,20
 
 Top
SERIOUS
Отправлено: 03 Октября, 2011 - 15:57:03
Post Id


Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




LIME
он всё равно только одну дату выводит
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB