Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.07.2008, 15:59
der hund вне форума Посмотреть профиль Отправить личное сообщение для der hund Найти все сообщения от der hund
  № 1  
Ответить с цитированием
der hund

Регистрация: May 2006
Сообщений: 113
По умолчанию Как определить количество определенных записей в базе?

Скорее не правельно задал вопрос, как отсортировать таблицу чтобы таблица была отсортирована по клву повторений по убыванию.

У нас имеется таблица

1 Помидор
2 Огурец
3 Картошка
4 Помидор
5 Помидор
6 Свекла
7 Огурец
8 Капуста
9 Капуста
10 Капуста
...
10000

задача, отсортеровать ее так чтобы певыми шли записи которые больше всего повторяються и так по убыванию
тое:

1 Капуста
2 Капуста
3 Капуста
4 Помидор
5 Помидор
6 Помидор
7 Огурец
8 Огурец
9 Картошка
10 Свекла
...
10000

Как это можно сделать не переписывая таблицу через php, ведь при переписывании 10000 записей вылазят огромным промежутком времени.


Последний раз редактировалось der hund; 07.07.2008 в 16:06.
Старый 09.07.2008, 14:28
dmx102 вне форума Посмотреть профиль Отправить личное сообщение для dmx102 Найти все сообщения от dmx102
  № 2  
Ответить с цитированием
dmx102
 
Аватар для dmx102

Регистрация: Apr 2008
Адрес: Москва - Moscow
Сообщений: 46
Отправить сообщение для dmx102 с помощью ICQ
Вам сюда --> http://www.flasher.ru/forum/forumdisplay.php?f=72
__________________
Хочешь спросить что-либо? Cначала спроси Google!

Старый 09.07.2008, 22:15
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
FOUND_ROWS()

A SELECT statement may include a LIMIT clause to restrict the number of rows the server returns to the client. In some cases, it is desirable to know how many rows the statement would have returned without the LIMIT, but without running the statement again. To obtain this row count, include a SQL_CALC_FOUND_ROWS option in the SELECT statement, and then invoke FOUND_ROWS() afterward:

mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
-> WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS();
так можно определить количество вхождений ключа, по которому был сделан поиск... но сортировать таблицы SQL вроде как еще не умеет... ну не сам... хотя, может я и ошибаюсь...

Т.е. как бы я решал такую задачу:
за каждым ключем закрепил бы поле в котором регистрировл количество вхождений.
т.е. перед добавлением проверял бы количество вхождений, а после добавления инкрементил его. Таким образом, сделав запрос по двум параметрам позже я бы смог узнать а) какой ключ используется чаще остальных, б) сколько всего вхождений ключа есть. Ну, и наверняка сразу же переписывал таблицу в отсортированом виде после добавления одной строки, а не раз в пятилетку =)
Вопрос только зачем нужно ее сортировать?
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 09.07.2008 в 22:28.
Старый 11.07.2008, 17:01
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 4  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
зачем сортировать таблицу? при необходимости нужно сортировать результат отборки. А запрашивать 10 000 записей - это видимо тока при резервном копировании ))

Старый 15.07.2008, 16:52
Сайлас вне форума Посмотреть профиль Отправить личное сообщение для Сайлас Найти все сообщения от Сайлас
  № 5  
Ответить с цитированием
Сайлас

Регистрация: Mar 2008
Сообщений: 259
А че, SELECT name, COUNT(name) as ncount FROM table GROUP BY name ORDER BY ncount DESC не пойдет?

Старый 15.07.2008, 17:05
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 6  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
именно так и надо

Старый 15.07.2008, 22:24
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну так человек спросил как узнать сколько всего записей, а не как получить все записи, хотя, конечно, одно другому не мешает =)
__________________
Hell is the possibility of sanity

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.