Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбор данных из базы
 
 автор: Jaroslav   (12.10.2009 в 16:57)   письмо автору
 
 

Здравствуйте.
Подскажите, пожалуйста, можно ли это сделать?

Имеется, например, база данных:
Поля:

id (уник. номер)
login (текстовое поле - логин пользователя).

Надо вывести из базы 30 записей по убыванию таким образом, чтобы строка с одним логином встречалась не > 3-х раз. Например, если 5 записей добавил один пользователь, то выводится 1-е три его записи, затем 2 пропускается и выводится дальше. Но записи могут идти и не подряд...

Вопрос, собственно в том, можно ли сразу задать такую выборку? или надо программировать и писать условия?

  Ответить  
 
 автор: Valick   (12.10.2009 в 17:04)   письмо автору
 
   для: Jaroslav   (12.10.2009 в 16:57)
 

спешу вас расстроить, программировать придётся в любом случае ;)
непонятно о каких записях Вы толкуете при одной таблице в два столбца...
давайте уж, колитесь, что там у Вас ещё?))

  Ответить  
 
 автор: Jaroslav   (12.10.2009 в 17:06)   письмо автору
 
   для: Valick   (12.10.2009 в 17:04)
 

Я тут немного поправил:
.....чтобы строка с "ОДНИМ" логином встречалась...
смысл именно в этом.. Чтобы записей от одного пользователя выводилась не >3-х раз... :))))
Догадываюсь, что придется программировать.. А вдруг можно, а я не знаю... ? :)

  Ответить  
 
 автор: Diplex   (12.10.2009 в 17:17)   письмо автору
 
   для: Jaroslav   (12.10.2009 в 17:06)
 

> Например, если 5 записей добавил один пользователь

А это Вы как узнаете? Основываясь на id и логине?

  Ответить  
 
 автор: Jaroslav   (12.10.2009 в 17:32)   письмо автору
 
   для: Diplex   (12.10.2009 в 17:17)
 

На логине.. Ладно, короче я понял.. нельзя.. ))) Пасиб!

  Ответить  
 
 автор: Valick   (12.10.2009 в 17:35)   письмо автору
 
   для: Jaroslav   (12.10.2009 в 17:32)
 

да можно, только непонятно с чем работать... дайте вторую таблицу (первая можно сказать нафик не нужна)

  Ответить  
 
 автор: Jaroslav   (12.10.2009 в 18:02)   письмо автору
 
   для: Valick   (12.10.2009 в 17:35)
 

Так 2-й нет. Зачем она?
например, идут записи:


1 user1
2 user1
3 user2
4 user1
5 user3
6 user3
7 user1
8 user2

в итоге должны выводится записи:

1 user1
2 user1
3 user2
4 user1
5 user3
6 user3
8 user2

т.е. 7-й - выкинуть, так как данный логин встречается 4-й раз...

  Ответить  
 
 автор: Valick   (12.10.2009 в 18:15)   письмо автору
 
   для: Jaroslav   (12.10.2009 в 18:02)
 

во как.... скорее всего у вас неправильно организована БД, раз ставите перед собой такие (непонятные лично для меня) задачи. Что за база такая из одной таблицы??) Вся сила БД в организации связей которые создаются на этапе проектирования, руководствуясь предстоящими к БД запросами и взвешивая все за и против.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования