Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 15.07.2014
Сообщений: 10
1

Выборка из таблицы по условию + COUNT

15.07.2014, 13:16. Показов 1578. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста!
Есть таблица, содержащая дату, логин пользователя, признак операции. В выборке нужно получить кол-во операций пользователя за определённую дату по признаку или 0, или 1. В итоговой таблице должен отобразиться логин, кол-во операций с признаком 0, кол-во операций с признаком 1. У меня получился такой запрос, но он не верен!

MySQL
1
2
3
4
5
6
7
8
9
SELECT COUNT(логин), t1.логин from STATRC t1 WHERE 
t1.unloaddate >= convert(date,'2014-01-01')-7 and 
t1.unloaddate < convert(date,'2014-02-01')-7 and 
t1.признак = 0 and t1.логин<>'NULL' group by t1.логин
union
SELECT COUNT(логин), t2.логин from STATRC t2 WHERE
t2.unloaddate >= convert(date,'2014-01-01')-7 and 
t2.unloaddate < convert(date,'2014-02-01')-7 and 
t2.признак = 1 and t2.логин<>'NULL' group by t2.логин
Спасибо за помощь!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2014, 13:16
Ответы с готовыми решениями:

Выборка таблицы по условию если ничего не найдено, вернуть все записи таблицы!
Добрый день! забыл как сделать выборку, есть такой запрос: select * FROM Applications WHERE Id...

Выборка записей из таблицы по темам и по условию
Всем привет!!! Обращаюсь к корефеям программирования в Access, ПОМОГИТЕ!!! Значит так,...

Выборка значений из таблицы подстановок по условию
Здравствуйте. Есть таблица: список мониторов, в этой таблице имеются поля: наименование монитора,...

SQL представления выборка с несколькими count
Здравствуйте! Задача в следующем: Есть таблица, в которой перечислены предметы и время, дата,...

4
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
17.07.2014, 13:56 2
MySQL
1
2
3
4
5
6
select s.логин, sum(s.признак=0) as qty0, sum(s.признак=1) as qty1
from STATRC s
where s.признак in (0,1) 
  and s.unloaddate >= convert(DATE, '2014-01-01') - 7 
  and s.unloaddate <  convert(DATE, '2014-02-01') - 7 
group by s.логин
0
0 / 0 / 0
Регистрация: 15.07.2014
Сообщений: 10
17.07.2014, 16:04  [ТС] 3
Цитата Сообщение от cygapb-007 Посмотреть сообщение
sum(s.признак=0) as qty0, sum(s.признак=1) as qty1
Спасибо за ответ! Но эта конструкция не работает - выдаёт сообщение о синтаксической ошибке, в общем-то и понятно, т.к. sum подразумевает только имя поля... Если я не ошибаюсь только!
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
17.07.2014, 16:15 4
Цитата Сообщение от l_2001 Посмотреть сообщение
пасибо за ответ! Но эта конструкция не работает - выдаёт сообщение о синтаксической ошибке, в общем-то и понятно, т.к. sum подразумевает только имя поля
И будет выдавать, если у вас не MySQL.
А вот если MySQL- то он эту конструкцию понимает.

Можно заменить на эквивалентную, работающую в любой СУБД:
SQL
1
2
3
4
5
6
7
8
SELECT s.логин, 
  SUM(CASE s.признак WHEN 0 THEN 1 ELSE 0 END) AS qty0, 
  SUM(CASE s.признак WHEN 1 THEN 1 ELSE 0 END) AS qty1
FROM STATRC s
WHERE s.признак IN (0,1) 
  AND s.unloaddate >= CONVERT(DATE, '2014-01-01') - 7 
  AND s.unloaddate <  CONVERT(DATE, '2014-02-01') - 7 
GROUP BY s.логин
1
0 / 0 / 0
Регистрация: 15.07.2014
Сообщений: 10
17.07.2014, 17:25  [ТС] 5
Я прошу прощения, в самом деле забыл сказать, что не MySQL, а IQ SQL... Я очень благодарен за помощь! Почему-то не подумал, что можно решить задачу вот так!
0
17.07.2014, 17:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2014, 17:25
Помогаю со студенческими работами здесь

Выборка из трех таблиц с функцией count()
У меня имеется три таблицы, связанные внешним ключами: create table office(id_office INTEGER...

Выборка из двух таблиц с использованием count(*)
Наткнулся на вот такую проблему, бьюсь уже неделю:( Суть проблемы: Есть две таблицы. В одной...

Выборка уникальных данных с использованием count, max
Суть запроса:Вывод ФИО клиентов и самый предпочитаемый вид услуги у каждого из них за год(выбран...

Count по условию: нужно число только записей с определенным значением
Всем привет! Вопрос к знатокам, как сделать так, чтобы в конструкторе отчетов посчитать число...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru