Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Кто черепит в SQL, помогите чайнику
|
|||
|---|---|---|---|
|
#18+
Ситуация следующая: Предположим сижу перед окном и считаю машины - Запоры, Мерсы. Жигули, Волги и т.д. (на самом деле все марки из справочника). Интересует состояние - мытая машина(.T.) или не мытая (.F.). Так вот как SELECT'ом выбрать все машины за сутки, сгруппировав их по маркам и ,главное, чтобы по каждой группе(марке машины) было число мытых машин, т.е. Марки Количество за сутки Мытых Волги ....................5......................3 Жигули..................7......................0 Запоры..................3......................3 Заранее Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 11:29 |
|
||
|
Кто черепит в SQL, помогите чайнику
|
|||
|---|---|---|---|
|
#18+
Может так? SELECT Марка , COUNT(*) , ( SELECT COUNT(*) FROM Машины м2 WHERE м2.Мытые = FALSE AND м2.Марка = м1.Марка ) FROM Машины м1 GROUP BY Марка Или с группой подзапрос не пройдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 12:43 |
|
||
|
Кто черепит в SQL, помогите чайнику
|
|||
|---|---|---|---|
|
#18+
на forum.foxclub.ru ответили: select Марки, count(Марки) as Кол_во,sum(iif(Мытая,1,0) as Мытые from Табла_Мытых_И_Не_Мытых_Машин group by Марки Проверил - работает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 12:58 |
|
||
|
Кто черепит в SQL, помогите чайнику
|
|||
|---|---|---|---|
|
#18+
В догонку вопрос. select Марки, count(Марки) as Кол_во,sum(iif(Мытая,1,0) as Мытые from Табла_Мытых_И_Не_Мытых_Машин group by Марки В чём разница между count(Марки) и count(*) - результат-то одинаковый! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 14:40 |
|
||
|
Кто черепит в SQL, помогите чайнику
|
|||
|---|---|---|---|
|
#18+
В данном случае - никакой. Однако есть разница. COUNT(*) возвращает количество в итоговой выборке вне зависимости от содержимого записей. Просто сколько записей есть. COUNT(MyField) возвращает количество среди записей где есть значение поля MyField. Т.е. при использовании COUNT(MyField) исключаются записи имеющие значение поля MyField=NULL Пример: Код: plaintext 1. 2. 3. 4. Почувствуйте разницу! Обычно такой подсчет используется при объединении таблиц по LEFT, RIGHT или FULL JOIN для подсчета количества в подчиненной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 14:59 |
|
||
|
|

start [/forum/topic.php?fid=41&tid=1596857]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 347ms |

| 0 / 0 |
