Вопрос - Ответ по MySQL - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Wed, 13 Nov 2024 09:41:22 +0300 справился без join обычным подзапросом с union all https://visavi.net/topics/1212/687989 Вопрос - Ответ по MySQL Dmitry Kokorin Sat, 06 Feb 2016 22:42:45 +0300 Сообщения https://visavi.net/topics/1212/687989 <pre class="prettyprint">$query = &#039;SELECT DISTINCT `u`.`id`, `u`.`name`,`u`.`family`,`u`.`avatar`,`u`.`online` FROM `users` `u` RIGHT JOIN `messages` `m` ON `m`.`id_from` = `u`.`id` OR `m`.`id_to` = `u`.`id` WHERE `m`.`id_to` = &#039;.$id.&#039; AND `m`.`id_from` = `u`.`id` OR `m`.`id_from` = &#039;.$id.&#039; AND `m`.`id_to` = `u`.`id` GROUP BY `u`.`id` ORDER BY `m`.`time` DESC&#039;;</pre> Вот так выводит всё, но опять без сортировки, а нужна сортировка по последним сообщениям с группировкой по id юзера https://visavi.net/topics/1212/687983 Вопрос - Ответ по MySQL Dmitry Kokorin Sat, 06 Feb 2016 19:44:18 +0300 Сообщения https://visavi.net/topics/1212/687983 в общем попробовал с LEFT JOIN <br> <pre class="prettyprint">$query = &#039;SELECT `u`.`id`,`u`.`name`,`u`.`family`,`u`.`avatar`,`u`.`online`, `m`.`id_to`,`m`.`id_from` FROM `users` `u` LEFT JOIN `messages` `m` ON `m`.`id_from` = `u`.`id` WHERE `m`.`id_to` = &#039;.$id.&#039; OR `m`.`id_to` = `u`.`id` WHERE `m`.`id_from` = &#039;.$id.&#039;&#039;;</pre> ругается На синтакс<br> <pre class="prettyprint">syntax to use near &#039;WHERE `m`.`id_from` = </pre>где я накосячил? https://visavi.net/topics/1212/687973 Вопрос - Ответ по MySQL Dmitry Kokorin Sat, 06 Feb 2016 12:29:13 +0300 Сообщения https://visavi.net/topics/1212/687973 682. <strong>ramzes</strong>, с ёинами пробовал, но у меня с ними криворуко пока получается, я их еще не вкурил)) https://visavi.net/topics/1212/687972 Вопрос - Ответ по MySQL Dmitry Kokorin Sat, 06 Feb 2016 11:35:43 +0300 Сообщения https://visavi.net/topics/1212/687972 Left join используй, выгребай сообщения и джоином их авторов https://visavi.net/topics/1212/687971 Вопрос - Ответ по MySQL ramzes Sat, 06 Feb 2016 10:59:14 +0300 Сообщения https://visavi.net/topics/1212/687971 В общем есть запрос списка контактов <br> <pre class="prettyprint">SELECT `id` FROM `users` WHERE `id` IN (SELECT `id_from` FROM `messages` WHERE `id_to` = &quot;.$id.&quot; AND `del_to` = 0) OR `id` IN (SELECT `id_to` FROM `messages` WHERE `id_from` = &quot;.$id.&quot; AND `del_from` = 0)</pre>Нужно сделать вывод с сортировкой по последним сообщениям, пробовал так<pre class="prettyprint"> SELECT `id` FROM `users` WHERE `id` IN (SELECT `id_from` FROM `messages` WHERE `id_to` = &quot;.$id.&quot; AND `del_to` = 0 ORDER BY `id` DESC) OR `id` IN (SELECT `id_to` FROM `messages` WHERE `id_from` = &quot;.$id.&quot; AND `del_from` = 0 ORDER BY `id` DESC)</pre>не помогает, кто сообразит в чем загвоздка? https://visavi.net/topics/1212/687970 Вопрос - Ответ по MySQL Dmitry Kokorin Sat, 06 Feb 2016 09:48:29 +0300 Сообщения https://visavi.net/topics/1212/687970 679. <strong>Nasgul</strong>, если у тебя что-то типа <pre class="prettyprint">&lt;?php $array&#91;$id] = mysql_fetch_array($id); return $array&#91;$id];</pre> То попробуй так <pre class="prettyprint">&lt;?php return mysql_fetch_array($id)</pre> https://visavi.net/topics/1212/686334 Вопрос - Ответ по MySQL Dmitry Kokorin Mon, 14 Sep 2015 20:26:31 +0300 Сообщения https://visavi.net/topics/1212/686334 Ребята подскажите что за ошибка! На денвере все норм на хосте выдает вот это <br> Strict Standards: Resource ID#18 used as offset, casting to integer (18) https://visavi.net/topics/1212/686323 Вопрос - Ответ по MySQL Алексей Mon, 14 Sep 2015 11:56:59 +0300 Сообщения https://visavi.net/topics/1212/686323 677. <strong>G_A_N_J_A_R</strong>, Отлично, спасибо! Меньше нагрузки - это хорошо ))) https://visavi.net/topics/1212/680664 Вопрос - Ответ по MySQL Андрей Fri, 13 Mar 2015 11:25:42 +0300 Сообщения https://visavi.net/topics/1212/680664 676. Незшт. Тем, что быстрее будет и меньше нагрузка на БД. В твоем же случае будет выполнятся сначала функция LOWER а потом регулярка для каждого поля. https://visavi.net/topics/1212/680662 Вопрос - Ответ по MySQL Богдан Fri, 13 Mar 2015 11:11:04 +0300 Сообщения https://visavi.net/topics/1212/680662 675. <strong>G_A_N_J_A_R</strong>, Спасибо! Так тоже работает <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> <br> Можно еще пояснение в чем отличие от моего примера? <br> <pre class="prettyprint">$total = DB&#58;&#58;run() -&gt; querySingle(&quot;SELECT count(*) FROM `users` WHERE LOWER(`users_email`) REGEXP &#039;^&#91;a-z0-9]&#039;;&quot;);</pre> https://visavi.net/topics/1212/680636 Вопрос - Ответ по MySQL Андрей Thu, 12 Mar 2015 22:17:16 +0300 Сообщения https://visavi.net/topics/1212/680636 674. Правильно понял что тебе нужно кол-во записей с не пустым полем users_email? тогда достаточно<br> <pre class="prettyprint"> $total = DB&#58;&#58;run() -&gt; querySingle(&quot;SELECT count(`users_email`) FROM `users` WHERE `users_email` IS NOT NULL AND `users_email`&lt;&gt;&#039;&#039;&quot;); </pre> https://visavi.net/topics/1212/680627 Вопрос - Ответ по MySQL Богдан Thu, 12 Mar 2015 21:19:51 +0300 Сообщения https://visavi.net/topics/1212/680627 Тут дело в чем было - добавил регистрацию через социальные сети, что бы удобней было просматривать пользователей, решил сделать их сортировку. https://visavi.net/topics/1212/680618 Вопрос - Ответ по MySQL Андрей Thu, 12 Mar 2015 19:08:46 +0300 Сообщения https://visavi.net/topics/1212/680618 <pre class="prettyprint">$total = DB&#58;&#58;run() -&gt; querySingle(&quot;SELECT count(*) FROM `users` WHERE LOWER(`users_email`) REGEXP &#039;^&#91;a-z0-9]&#039;;&quot;);</pre> Так решил проблему. https://visavi.net/topics/1212/680616 Вопрос - Ответ по MySQL Андрей Thu, 12 Mar 2015 18:14:26 +0300 Сообщения https://visavi.net/topics/1212/680616 671. <strong>Iznaur95</strong>, нет так считает все поля в таблице. https://visavi.net/topics/1212/680612 Вопрос - Ответ по MySQL Андрей Thu, 12 Mar 2015 16:29:07 +0300 Сообщения https://visavi.net/topics/1212/680612