Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как сделать правильный подзапрос?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
iwasborntobleed
Отправлено: 05 Марта, 2012 - 13:45:10
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Нояб. 2011  
Откуда: Moscow, Russia


Помог: 0 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT DISTINCT section, (SELECT COUNT(section) FROM products) AS items FROM products


Получаем:

CODE (htmlphp):
скопировать код в буфер обмена
  1. section      items
  2. -------------------
  3. kalyan       198
  4. tabak        198
  5. acses        198
  6. ugol         198
  7. podarki      198
  8.              198
  9. shlang       198
  10. kolba        198


В поле items, должна выводиться кол-во значений для каждого section, у меня выводит общее число. И затем преобразовать в ассоциативный массив PHP.
 
 Top
Panoptik
Отправлено: 05 Марта, 2012 - 13:46:57
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT section, COUNT(section) AS items FROM products GROUP BY section


-----
Just do it
 
 Top
iwasborntobleed
Отправлено: 05 Марта, 2012 - 13:48:48
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Нояб. 2011  
Откуда: Moscow, Russia


Помог: 0 раз(а)




Panoptik Как же я обожаю форум php.su! Спасибо вам огромное! Улыбка

А как можно упорядочить в ORDER BY с помощью CASE, чтоб, допустим, сначала `section` = kalyan, затем `section` = tabak и т. д. было? А то выводится `section` по алфавиту Недовольство, огорчение

(Отредактировано автором: 05 Марта, 2012 - 16:34:24)

 
 Top
ugin_root
Отправлено: 05 Марта, 2012 - 19:02:29
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Май 2011  
Откуда: Киргизия


Помог: 5 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2.     section,
  3.     COUNT(section) AS items,
  4.     (CASE `section`
  5.         WHEN 'kalyan' THEN 0
  6.         WHEN 'tabak' THEN 1
  7.         ELSE 100500
  8.     END) AS 'sort'
  9. FROM products
  10. GROUP BY `section`
  11. ORDER BY `sort`
 
 Top
iwasborntobleed
Отправлено: 05 Марта, 2012 - 22:57:30
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Нояб. 2011  
Откуда: Moscow, Russia


Помог: 0 раз(а)




ugin_root Спасибо!

(Отредактировано автором: 05 Марта, 2012 - 22:58:16)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB