#sql #sqlite
#sql #sqlite
Вопрос:
Я пытаюсь получить данные из строк в столбцы. Это мои данные перед запросом.
Это мой запрос.
SELECT
Date,
SUM(CASE WHEN (Terms="Art") THEN 1 ELSE 0 END) AS Art,
SUM(CASE WHEN (Terms="Action") THEN 1 ELSE 0 END) AS Action,
SUM(CASE WHEN (Terms="Board") THEN 1 ELSE 0 END) AS Board,
SUM(CASE WHEN (Terms="Puzzle") THEN 1 ELSE 0 END) AS Puzzle,
SUM(CASE WHEN (Terms="Adventure") THEN 1 ELSE 0 END) AS Adventure,
SUM(CASE WHEN (Terms="Others") THEN 1 ELSE 0 END) AS Others
FROM
__table__
GROUP BY
Date
После запроса это мои данные.
Это нормально и предназначено для данных. Но проблема заключается в запросе, как вы можете видеть, я должен явно писать каждый термин. Я хочу автоматизировать это с помощью цикла. Теоретическое решение состоит в том, чтобы написать подзапрос, чтобы получить все уникальные термины, а затем выполнить цикл по ним. Но я не знаю, как это сделать.
Комментарии:
1. Вам нужно
sql
решение илиpandas
? Еслиsql
, пожалуйста, пометьте СУБД, которую вы используете, вместе с ее версией. НапримерOracle11g
, и т.д.SQL Server 2019
,2. использование sqlite для Python
3. SQLite не поддерживает сводные данные, поэтому вам придется записывать каждый термин.