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

Форум MySQL

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

 

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

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

тема: Запрос на выборку с фильтром
 
 автор: mmodem   (15.01.2016 в 10:07)   письмо автору
 
 

Здравствуйте!
Имеем таблицу stat
-------------------------------
id | status | city
-----------------------------
1 | 56 | Москва
2 | 56 | Москва
3 | 43 | Москва
4 | 43 | Москва
5 | 43 | Москва
6 | 15 | Тула
7 | 15 | Тула
8 | 20 | Тула
9 | 20 | Тула
10| 30 | Саратов
--------------------------------
Задача:
1. Сгруппировать по столбцу status
2 . Посчитать количество каждого города city после группировки п. 1
т.е. получить следующее:
Москва - 2
Тула - 2
Саратов - 1
----------------------------------
Помогите!

  Ответить  
 
 автор: Valick   (15.01.2016 в 10:22)   письмо автору
 
   для: mmodem   (15.01.2016 в 10:07)
 

почему москва 56, а не 43?

  Ответить  
 
 автор: mmodem   (15.01.2016 в 10:42)   письмо автору
 
   для: Valick   (15.01.2016 в 10:22)
 

Это цифры для примера, они не имеют смысловую нагрузку.

  Ответить  
 
 автор: Valick   (15.01.2016 в 10:51)   письмо автору
 
   для: mmodem   (15.01.2016 в 10:42)
 

SELECT COUNT(*) FROM `table` GROUP BY `field`

  Ответить  
 
 автор: mmodem   (15.01.2016 в 11:02)   письмо автору
 
   для: Valick   (15.01.2016 в 10:51)
 

>SELECT COUNT(*) FROM `table` GROUP BY `field`
т.е. сгруппирует field и посчитает ВСЕ количество = 5.
Не годится.

  Ответить  
 
 автор: Valick   (15.01.2016 в 11:08)   письмо автору
 
   для: mmodem   (15.01.2016 в 11:02)
 

это запрос для примера, он не имеет смысловой нагрузки

  Ответить  
 
 автор: Trianon   (15.01.2016 в 14:08)   письмо автору
 
   для: Valick   (15.01.2016 в 11:08)
 

Браво.

  Ответить  
 
 автор: KPETuH   (15.01.2016 в 14:31)   письмо автору
 
   для: mmodem   (15.01.2016 в 10:07)
 

-

  Ответить  
 
 автор: Trianon   (15.01.2016 в 14:47)   письмо автору
 
   для: KPETuH   (15.01.2016 в 14:31)
 

select city, count(city) as numstatus
from 
( select city, status, count(city) as numlines
  from stat
  group by city
) as t
group by city

автор чего-то такого хотел небось.
извините за неровный почерк.

  Ответить  
 
 автор: mmodem   (15.01.2016 в 16:11)   письмо автору
 
   для: Trianon   (15.01.2016 в 14:47)
 

Огромное спасибо! Работает!

  Ответить  
 
 автор: mmodem   (15.01.2016 в 16:24)   письмо автору
 
   для: Trianon   (15.01.2016 в 14:47)
 

Еще просьба: вывести это все РНР, у меня никак не получается!
Москва - 2
Тула - 2
Саратов - 1

  Ответить  
 
 автор: KPETuH   (15.01.2016 в 15:16)   письмо автору
 
   для: mmodem   (15.01.2016 в 10:07)
 

SELECT 
    `city`, COUNT(`city`) AS `count`
FROM (
    SELECT * FROM `stat` GROUP BY `status`
) AS `t` 
GROUP BY `city`

  Ответить  
 
 автор: mmodem   (15.01.2016 в 16:14)   письмо автору
 
   для: KPETuH   (15.01.2016 в 15:16)
 

Огромное спасибо! Работает!

  Ответить  
 
 автор: mmodem   (16.01.2016 в 22:18)   письмо автору
 
   для: KPETuH   (15.01.2016 в 15:16)
 

с РНР разобрался.
Еще есть поле DATE в формате 0000-00-00 00:00:00, а мне надо выбрать данные за последние 24 часа.
Есть запрос WHERE DATE> date_sub(now(), interval 24 HOUR) - куда его подставить? Или может надо другое решение?

  Ответить  
 
 автор: Sfinks   (18.01.2016 в 12:13)   письмо автору
 
   для: mmodem   (15.01.2016 в 10:07)
 

SELECT
  city,
  COUNT(DISTINCT status) AS co
FROM
  stat
GROUP BY
  city
если я правильно понял, что нужно

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

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