Добро пожаловать, Гость!
Расшифровка SQL запроса - Страница 1
PHP/MySQL | Расшифровка SQL запроса
SimLove :
$q = mysql_query("SELECT n.*,
(SELECT COUNT(*) FROM frends AS f WHERE f.frend = n.id_user AND f.user = '$user_uid') AS is_frends,
(SELECT COUNT(*) FROM notes_komm AS k WHERE k.id_notes = n.id) AS comments,
(SELECT COUNT(*) FROM notes_count AS c WHERE c.id_notes = n.id) AS view,
(SELECT COUNT(*) FROM notes_like AS l WHERE l.id_notes = n.id AND l.like = '1') AS 'like',
(SELECT COUNT(*) FROM notes_like AS l WHERE l.id_notes = n.id AND l.like = '0') AS 'dlike'
FROM notes AS n
WHERE (n.private = '0' OR n.private = '1' OR (n.private = '2' AND id_user = '$user_uid'))
HAVING (is_frends = '1' OR (is_frends = '0' AND n.private != '1')) AND (`like` > `dlike` OR `dlike` = '0')
ORDER BY n.id DESC
LIMIT 3");
Кто ни будь сможет мне подробно написать какой запрос за что отвечает?
Я разбираюсь в простых кодах типо
$q = mysql_query("SELECT `id` FROM `user` WHERE `date_last` > '".(time()-600)."' ORDER BY `date_last` DESC LIMIT $start, $set[p_str]");
"вывод списка из таблицы user где date_last больше тиме - 600 " и сортировать их DESC количество $start, $set[p_str]"
как то так.
Расшифровка SQL запроса
29 Янв 2016$q = mysql_query("SELECT n.*,
(SELECT COUNT(*) FROM frends AS f WHERE f.frend = n.id_user AND f.user = '$user_uid') AS is_frends,
(SELECT COUNT(*) FROM notes_komm AS k WHERE k.id_notes = n.id) AS comments,
(SELECT COUNT(*) FROM notes_count AS c WHERE c.id_notes = n.id) AS view,
(SELECT COUNT(*) FROM notes_like AS l WHERE l.id_notes = n.id AND l.like = '1') AS 'like',
(SELECT COUNT(*) FROM notes_like AS l WHERE l.id_notes = n.id AND l.like = '0') AS 'dlike'
FROM notes AS n
WHERE (n.private = '0' OR n.private = '1' OR (n.private = '2' AND id_user = '$user_uid'))
HAVING (is_frends = '1' OR (is_frends = '0' AND n.private != '1')) AND (`like` > `dlike` OR `dlike` = '0')
ORDER BY n.id DESC
LIMIT 3");
Кто ни будь сможет мне подробно написать какой запрос за что отвечает?
Я разбираюсь в простых кодах типо
$q = mysql_query("SELECT `id` FROM `user` WHERE `date_last` > '".(time()-600)."' ORDER BY `date_last` DESC LIMIT $start, $set[p_str]");
"вывод списка из таблицы user где date_last больше тиме - 600 " и сортировать их DESC количество $start, $set[p_str]"
как то так.
Комментарии:
SimLove 29 Янв 2016
Автор темы
sto56, я не могу сказать именно какие запросы сам и какие лишние. но автор этого запроса не просто так всех написал, кто ни будь может просто объяснить какая строка за что отвечает?
Автор темы
sto56, я не могу сказать именно какие запросы сам и какие лишние. но автор этого запроса не просто так всех написал, кто ни будь может просто объяснить какая строка за что отвечает?
Sto56 29 Янв 2016
SimLove, Ты свой вопрос скорректировал так, что, по сути, его очень сложно понять.У тебя, сначала, идет запрос в таблу друзей, далее в комментарии дневников и в их счётчик, а потом уже по теме лайков.Если тебе только лайки нужны, удали лишние запросы в базу
SimLove, Ты свой вопрос скорректировал так, что, по сути, его очень сложно понять.У тебя, сначала, идет запрос в таблу друзей, далее в комментарии дневников и в их счётчик, а потом уже по теме лайков.Если тебе только лайки нужны, удали лишние запросы в базу
SimLove 29 Янв 2016
Автор темы
sto56, этот запрос показывает 3 последних дневника сортируя их по id а мне нужно что он сортировал их по like , что бы понять как это делать я не могу понять встроенность этого запроса
Автор темы
sto56, этот запрос показывает 3 последних дневника сортируя их по id а мне нужно что он сортировал их по like , что бы понять как это делать я не могу понять встроенность этого запроса