Перейти из форума на сайт.


Система IP-видеонаблюдения "Линия". Скачать бесплатную демо-версию для 16 камер. НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySQL Помогите составить запрос

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar
SELECT id, COUNT(*) FROM table GROUP BY id

Всего записей: 4922 | Зарегистр. 20-09-2014 | Отправлено: 22:19 26-03-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
спасибо, сейчас посмотрю)

Всего записей: 1140 | Зарегистр. 15-08-2011 | Отправлено: 22:20 26-03-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
что-то начало не правильно считать.
 
Вот таблица:
   
 
А вот результат запроса:
   
 
а должен быть результат:

Код:
id|count(*)
1|3

 
(c referral = 0, не учитывать)

Всего записей: 1140 | Зарегистр. 15-08-2011 | Отправлено: 18:10 17-05-2015
Mavrikii

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
а должен быть результат:  

с чего бы? что именно вы считаете?
 
если количество referral, то по нему и нужно группировать.

Всего записей: 4922 | Зарегистр. 20-09-2014 | Отправлено: 20:14 17-05-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Код:
SELECT id, COUNT(*) FROM table GROUP BY referral

Всего записей: 1140 | Зарегистр. 15-08-2011 | Отправлено: 20:30 17-05-2015
Mavrikii

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
SELECT referral, COUNT(*) FROM table GROUP BY referral

Всего записей: 4922 | Зарегистр. 20-09-2014 | Отправлено: 20:33 17-05-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
А можно както-то реализовать такой пример запроса?
 
Есть БД:

Код:
id|referral|username|date
1|0|Mavrikii|time()
2|1|Sutar|time()
3|1|Test1|time()
4|1|Test2|time()
5|2|Test3|time()

 
Чтоб результат был такой:

Код:
Mavrikii - 3 пользователя.
Sutar- 1 пользователя.

 
я уже столько раз поменял схемы и структуры....
пробовал сгруппировать их

Код:
SELECT referral, COUNT(*) FROM table GROUP BY referral

а потом по referral вывести информацию пользователей.
 
Может можно реализовать в одном запросе?
 
Пробовал так:

Код:
SELECT *, referral, COUNT(*) FROM table GROUP BY referral

 
ничего не получается.
 
Вот сама БД:
   
 
А вот результат ответа:
   
 
А должен быть ответ такой:

Код:
id|login|count()
1|Sutar|2
2|Sutar2|1
3-5|Sutar...|0

Всего записей: 1140 | Зарегистр. 15-08-2011 | Отправлено: 20:20 18-05-2015
Mavrikii

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar
здесь нужна комбинация двух запросов
 
SELECT * FROM table users LEFT JOIN (SELECT referral, COUNT(*) FROM table GROUP BY referral) cnt ON cnt.referral = users.id
 
только вместо 0 будет NULL

Всего записей: 4922 | Зарегистр. 20-09-2014 | Отправлено: 20:47 18-05-2015 | Исправлено: Mavrikii, 20:57 18-05-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
тут одна БД (user).
будет примерно так?
 

Код:
SELECT * FROM user LEFT JOIN (SELECT user.referral, COUNT(*) FROM user GROUP BY user .referral) cnt ON cnt.referral = user.id

 
у меня просто БД на локальном сервер зависла, нужно полость перезагружать компьютер, и не могу протестить(

Всего записей: 1140 | Зарегистр. 15-08-2011 | Отправлено: 22:16 18-05-2015
Mavrikii

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
тут одна БД (user).

и что? users это алиас, я же не знаю как ваша таблица называется.
 

Цитата:
будет примерно так?  

нет, то, что в скобках, не требует указания user.referral, пишите так, как написал я.

Всего записей: 4922 | Зарегистр. 20-09-2014 | Отправлено: 22:20 18-05-2015
niko7

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно выбрать ID, Name, Email из таблицы user, чтобы повторяющиеся значения Email отображались только один раз. Подскажите правильно ли составил запрос?
SELECT ID, Name, Email
FROM user  
GROUP BY Email

Всего записей: 2272 | Зарегистр. 23-09-2004 | Отправлено: 11:21 03-08-2015
Mavrikii

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
niko7

Цитата:
Подскажите правильно ли составил запрос?

ну, в принципе, да. а почему не попробовать сначала ?)

Всего записей: 4922 | Зарегистр. 20-09-2014 | Отправлено: 19:38 03-08-2015
niko7

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Конечно пробовал. Сомневался просто правильно ли написал.

Всего записей: 2272 | Зарегистр. 23-09-2004 | Отправлено: 11:24 04-08-2015
Omsk

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня вот такая ошибка выводится:
 
mysql> insert into raskleika ('ул. Ленина 10', 'расклейка', '02.08.2015', 'примечание');
 
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ''ул.
Ленина 10', 'расклейка', '02.08.2015', 'примечание')' at line 1
 
В чем тут ошибка?
 
У всех полей тип char, 50 символов.

Всего записей: 820 | Зарегистр. 22-02-2007 | Отправлено: 17:02 08-09-2015 | Исправлено: Omsk, 17:02 08-09-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте,
есть столбик unit varchar(1000) содержание которого: "0|0|0|0"
как добавить всем записям дополнительно текст "|0|0|0"???
пробовал так:  
 

Код:
UPDATE `user` SET `unit`=`unit`+'|0|0|0|0|0|0|0|0' WHERE `id`='1' LIMIT 1;

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

Всего записей: 1140 | Зарегистр. 15-08-2011 | Отправлено: 22:13 08-09-2015
Mavrikii

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar
https://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat

Всего записей: 4922 | Зарегистр. 20-09-2014 | Отправлено: 01:16 09-09-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
нужно обновить записи в БД

Всего записей: 1140 | Зарегистр. 15-08-2011 | Отправлено: 17:36 09-09-2015
Mavrikii

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sutar

Цитата:
нужно обновить записи в БД

нужно лишь слегка подумать, неужели и такое нужно объяснять?
... SET unit = CONCAT(unit, '|0|0|0|0|0|0|0|0') ...
ну изучите же азы SQL

Всего записей: 4922 | Зарегистр. 20-09-2014 | Отправлено: 18:36 09-09-2015
Sutar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
ну изучите же азы SQL

повреднечать хочу)
 

Цитата:
SET unit = CONCAT(unit, '|0|0|0|0|0|0|0|0') ...  

попробую, и отпишу результат. Спасибо.

Всего записей: 1140 | Зарегистр. 15-08-2011 | Отправлено: 23:17 09-09-2015
Bol970



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго дня всем.
 
Помогите с запросом, хотя-бы в какую сторону направиться.
 
Имеем мускул 5.1 и данные в таблице
Date,N,S
2015-11-08 22:19:36,obj1,88
2015-11-08 22:28:36,obj1,22
2015-11-08 22:10:36,obj2,66
2015-11-08 22:27:36,obj2,55
2015-11-08 22:21:36,obj3,44
2015-11-08 22:28:36,obj3,77
 
Нужно получить список уникальных N,
у которых сумма по S больше 100 за последние 10 минут зарегистрированного времени.
т.е. результат должен получится:
 
N
obj1
obj3
 
я так понимаю, что для начала найти максимальное время по уникальным N
запросить диапазон max(date)-60*10 и потом посчитать сумму S
то что больше 100 вывести.
 
Спасибо.

Всего записей: 94 | Зарегистр. 05-10-2004 | Отправлено: 20:46 09-11-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySQL Помогите составить запрос

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2017

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru