#mysql #sql
Вопрос:
потерпите, это, наверное, очень просто, но я только недавно начал работать с SQL.
Итак, в настоящее время у меня есть таблица, которая выглядит примерно так:
SELECT startDate FROM table1
GROUP BY startDate
Дата начала |
---|
2020-01-01 |
2020-02-01 |
2020-03-01 |
Но я пытаюсь расширить это до чего-то подобного, надеюсь, со списком строк, определенных в самом запросе:
Дата начала | ранг |
---|---|
2020-01-01 | Ранг 1 |
2020-01-01 | Ранг 2 |
2020-02-01 | Ранг 1 |
2020-02-01 | Ранг 2 |
2020-03-01 | Ранг 1 |
2020-03-01 | Ранг 2 |
Оттуда у меня есть некоторые расчеты в уме, которые я хочу сделать. Есть ли какой-нибудь хороший способ на самом деле сделать это?
Ответ №1:
Перекрестное соединение таблицы с синтезированной таблицей, содержащей ранги.
SELECT t1.startDate, t2.`rank`
FROM table1 AS t1
CROSS JOIN (
SELECT 'Rank 1' AS `rank`
UNION
SELECT 'Rank 2'
) AS t2