Где условие на граф как столбец - PullRequest
0 голосов
/ 26 октября 2018

Запрос

SELECT strftime('%W', [DatumEintrag], 'weekday 1') Woche, 
       SUM([FOO]), Count(Distinct [DatumEintrag]) as Tage 
FROM MainData
Where [BAR] LIKE 'BC%'
Group By Woche

приводит к таблице типа

Woche | FOO | Tage  
41    | 4218| 3  
42    | 5624| 4  
43    | 7030| 5  
44    | 2812| 2

Как мне получить только данные, где Tage> = 4.

SELECT strftime('%W', [DatumEintrag], 'weekday 1') Woche, SUM([FOO]), Count (Distinct [DatumEintrag]) as Tage 
FROM MainData
Where [BAR] LIKE 'BC%' AND Tage >= 4
Group By Woche

Приводит к «неправильному использованию агрегата: Count ()»

Ответы [ 3 ]

0 голосов
/ 26 октября 2018

Один вариант использует вложенные запросы:

SELECT *
FROM(
SELECT strftime('%W', [DatumEintrag], 'weekday 1') Woche, 
       SUM([FOO]), 
       Count (Distinct [DatumEintrag]) as Tage 
FROM MainData 
Where [BAR] LIKE 'BC%' Group By Woche)t
WHERE Tage>=4
0 голосов
/ 26 октября 2018

SQLite позволяет использовать псевдонимы столбцов в предложении having. Так что вы можете написать это как:

select strftime('%W', DatumEintrag, 'weekday 1') as Woche, 
       sum([FOO]), 
       count(distinct DatumEintrag) as Tage 
from MainData
where [BAR] like 'BC%' 
group by Woche
having tage > 4
0 голосов
/ 26 октября 2018

Использование с пунктом

SELECT 
   strftime('%W', [DatumEintrag], 'weekday 1') Woche, 
   SUM([FOO]), 
   Count (Distinct [DatumEintrag]) as Tage 
FROM MainData Where [BAR] LIKE 'BC%' 
Group By Woche
having Count (Distinct [DatumEintrag])>4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...