У меня есть одна таблица с именем FDR_DATA. В таблице присутствуют следующие поля. Поля: B1_NAME, B2_NAME, B3_NAME, ELEMENT, DATUM, WERT. Теперь я хочу запросить общее количество данных в этой таблице, и будет получен следующий результат.
sql> select count (*) from fdr_data where datum like (выберите sysdate -1 из двойного);
(показывает только количество отсчетов) Но я хочу напечатать поле датума (даты) рядом с счетчиком.
DATUM COUNT
04.05.2016 899019
Как записать запрос, чтобы получить такой вывод?
Я пробовал,
sql> выберите DATUM, count (*) из fdr_data где данные вроде (выберите sysdate -1 из двойного)
Но не удалось получить желаемый результат.
sql> select count (*) as fdr_data from fdr_data where datum like (select sysdate -1 from dual);
Salida:
fdr_data
--------
899019
Я не знаю, предлагают ли какие-либо диалекты SQL другие способы, но поскольку вы не сказали, какой SQL сервер вы используете, но это должно сработать:
SELECT datum,count(*) FROM fdr_data WHERE datum LIKE (SELECT sysdate-1 FROM dual) GROUP BY datum;
Когда предложение WHERE означает, что в результате есть только одна строка, может показаться странным добавление предложения GROUP BY, но парсер не будет знать, поэтому мы добавляем его в угоду этому.