X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Посчитать количество одинаковых записей в таблице | SQL
romapro
romapro
Topic Starter сообщение 27.11.2016, 1:33; Ответить: romapro
Сообщение #1


Всем привет! Я новичок, в web-програмирование.
Написал не очень хорошый пример реализации выборки количества партнеров у каждого юзера из таблицы users, по скольку делаю один запрос и потом еще запрос в цикле, это на мой взгляд не правильно. Нужно сделать только один запрос, что бы не делать в цикле. Если кому не сложно, помогите решить эту проблему. Вот пример кода, он работает, но не очень хорошый пример
[PHP]$sql = "SELECT `partner_id`, COUNT(`partner_id`) AS count_id FROM `users` GROUP BY `partner_id` ORDER BY `count_id` DESC LIMIT 5";
$query = mysqli_query($db, $sql) or die(mysqli_error());

while ($partners = mysqli_fetch_assoc($query)) {

$partner_id = $partners['partner_id'];

$sql_name_surname = "SELECT `name`, `surname` FROM `users` WHERE `id`='{$partner_id}'";
$query_name_surname = mysqli_query($db, $sql_name_surname) or die(mysqli_error());
$partners_name_surname = mysqli_fetch_assoc($query_name_surname);

echo '<p>' . $partners_name_surname['name'] . ' ' . $partners_name_surname['surname'] . ' - <b>' . $partners['count_id'] . '</b></p>';

}[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 27.11.2016, 11:04; Ответить: Den1xxx
Сообщение #2


Ну поскольку у Вас в 1 запросе стоит лимит 5, то 2-й запрос в цикле — не такая большая проблема.
5 лёгких запросов вместо одного и что? Ничего страшного.
Если уж так надо избежать цикла, то после первого запроса можете массив $partners['partner_id'] объединить через запятую, а во втором запросе использовать «IN» вместо «равно»
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
romapro
romapro
Topic Starter сообщение 27.11.2016, 16:24; Ответить: romapro
Сообщение #3


Спасибо за подсказку! В даном примере мне нужно только 5 строчек вывести, потому это не большая проблема вывести имена юзеров сгрупированных partner_id в цикле, как вы заметили. Но кроме этого еще нужно будет потом вывести сгрупиронные partner_id и их количество и имена partner_id без лимитов, тоисть если будет не 5 запросов , а допустем 1 000 000 , это уже больша проблема. Потому я хотел сделать групиронные partner_id и их количество и имена partner_id в одном запросе и вывести их цыклом.
Проблема в том что нельзя выбрать одним запросом сгрупиронные partner_id и их количество и имена partner_id, если такое сделать то выбирается первое имя групированного partner_id , а они там разные, потому не знаю, может нужно встроенные какието выборки делать еще.
Вот пример таблицы [IMG]http://image.prntscr.com/image/3e23889692b548dc93f07ce14ebb8811.png[/IMG] . Нужно сделать одним запросом в БД вот такой вывод [IMG]http://image.prntscr.com/image/a180b9853f1a4d639d5dc66425950091.png[/IMG]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Google adwords показывает дробное количество конверсий
0 Megaspryt 709 16.3.2024, 23:19
автор: Megaspryt
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыБаза товаров (opencart) SQL 70к+ товаров
Инструменты для дома, строительное и производственное оборудование
5 getdump 5607 1.9.2021, 2:04
автор: WebSniper
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыWeb-разработка (C++/PHP/SQL/JS/Bootstrap). HighLoad проекты.
0 DF™ 1420 28.7.2020, 13:24
автор: DF™
Открытая тема (нет новых ответов) Продам большое количество статей по низким ценам
Не веб-архив, читабельность, смысл и уникальность
15 ELECTROKATZE 16580 24.6.2020, 20:52
автор: NoMax
Открытая тема (нет новых ответов) Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты
Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов
4 DFService 3336 8.4.2020, 18:02
автор: DFService


 



RSS Текстовая версия Сейчас: 28.3.2024, 21:22
Дизайн