2014-01-02 14 views
1

Моя структура таблицыВыберите атрибут таблицы на основе минимального значения из другой таблицы

Table structure

Я хочу, чтобы в последнее время видео, выложенное пользователя

То, что я хочу сделать, это:

«выберите VIDEO_ID из записи, который, имеющая минимум метки времени, где Идентификатор_пользователь =„что-то“»

То, что я в настоящее время является:

$recent_video = "$db->query(" 
    SELECT video_id 
    FROM video_primary 
    ORDER BY timestamp DESC LIMIT 1 
    WHERE userid = '$userid'" 
) or die($db->error);"` 


while($row=mysqli_fetch_assoc($recent_video)) 
{ 
    $video_id=$row['video_id']; 
} 
echo $video_id; 

Мои данные таблицы

table data

Как получить самую последнюю точку зрения загруженное пользователем?

+0

Вы должны пометить этот вопрос с MySQL вместо SQL. – ursitesion

+0

я буду rememberthat !! :) – Zafta

ответ

1

попробовать это

$recent_video=$db->query("select video_id from video_primary where userid='$userid' 
    ORDER BY timestamp DESC LIMIT 1 ") or die($db->error); 

вместо

$recent_video="$db->query("select video_id from video_primary ORDER BY timestamp DESC 
    LIMIT 1 where userid='$userid'") or die($db->error);" 

вы используете, где положение после приказа и предел 1, который является синтаксической ошибкой. см учебник

Tutorial

2

Написать WHERE пункт после FROM части

Попробуйте это:

SELECT vp.video_id 
FROM video_primary vp 
WHERE userid='$userid' 
ORDER BY vp.timestamp DESC 
LIMIT 1; 
1

Существует определенная последовательность каждого пункта в заявлении запроса. Ниже приводится последовательность:

  • Выберите
  • Где
  • Сортировать по
  • Limit

Таким образом, в соответствии с приведенной выше последовательности, вы должны исправить свой запрос, как показано ниже. Кроме того, вы должны поместить двойные кавычки (") правильно.

$recent_video = $db->query(" SELECT video_id FROM video_primary WHERE userid = '$userid' ORDER BY timestamp DESC LIMIT 1" ) or die($db->error);

Смежные вопросы