Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получить сами записи результата+количество записей 
V
    Опции темы
DenWPF
Дата 16.10.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



Этот запрос достанет одну строку с ид и количеством этих ID в Messages.
SELECT id, count(id) FROM Messages


а мне нужно что бы достало список id а во втором поле было их количество
PM MAIL   Вверх
bars80080
Дата 16.10.2010, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



Цитата(DenWPF @  16.10.2010,  14:19 Найти цитируемый пост)
SELECT id, count(id) FROM Messages

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

Код

$sql = 'SELECT id FROM Messages';
$q = mysql_query($sql);
$num = mysql_num_rows($q);
while(false !== ($f = mysql_fetch_assoc($q))) {
    // выборка по строке
}

PM MAIL WWW   Вверх
DenWPF
Дата 16.10.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



нет, не просто.
ну во-первых я через C# стучусь.

я делаю постраничный вывод инфы.

для этого буду использовать LIMIT 0 , 30
если через функции php или C# будет выводиться число 29, а не все сообщения как это делает функция COUNT()
PM MAIL   Вверх
bars80080
Дата 16.10.2010, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 5
Всего: 315



Цитата(DenWPF @  16.10.2010,  15:09 Найти цитируемый пост)
если через функции php или C# будет выводиться число 29, а не все сообщения как это делает функция COUNT() 

тогда и надо было задавать вопрос: как получить количество всех строк в таблице и вывести несколько из них.

на этот вопрос ответ тоже простой: два запроса. первый:

Код

SELECT count(*) FROM `table`


второй:
Код

SELECT * FROM `table` LIMIT 0, 30

PM MAIL WWW   Вверх
skyboy
Дата 17.10.2010, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(DenWPF @  16.10.2010,  14:09 Найти цитируемый пост)
ну во-первых я через C# стучусь.

и чё, у .NET адаптера нет метода/свойства типа get_num_rows? советую поискать получше.
PM MAIL   Вверх
DenWPF
Дата 17.10.2010, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



он вернет сколько он вытаскивает т.е если я сделаю Limit 0, 10 то достанет число 10 а надо то все.
PM MAIL   Вверх
skyboy
Дата 17.10.2010, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



sql_calc_found_rows

Добавлено через 44 секунды
+ select found_rows()
PM MAIL   Вверх
CPlusPlusFAN
Дата 17.10.2010, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 1.11.2005
Где: Воронеж

Репутация: нет
Всего: нет



Код

select `id`, `cnt` from `Messages`,
(select count(0) as `cnt` from `Messages`) as `tab`


Это сообщение отредактировал(а) CPlusPlusFAN - 17.10.2010, 21:23
PM MAIL ICQ Jabber   Вверх
DenWPF
Дата 17.10.2010, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



вобщем я выбрал просто два запроса.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0492 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.