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
Форумы портала PHP.SU :: Версия для печати :: Груповая выборка данных
Форумы портала PHP.SU » » Работа с СУБД » Груповая выборка данных

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

1. SERIOUS - 03 Октября, 2011 - 15:40:08 - перейти к сообщению
Нужно выбрать из базы данных
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


Он выводит только одну дату, а нужны все.
2. LIME - 03 Октября, 2011 - 15:49:15 - перейти к сообщению
так?
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
3. SERIOUS - 03 Октября, 2011 - 15:52:07 - перейти к сообщению
LIME
оно то так, но он выводит одну дату, а мне нужны все даты.
4. LIME - 03 Октября, 2011 - 15:54:04 - перейти к сообщению
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
5. SERIOUS - 03 Октября, 2011 - 15:57:03 - перейти к сообщению
LIME
он всё равно только одну дату выводит

 

Powered by ExBB FM 1.0 RC1