MySQL Объединение двух запросов с одинаковой структурой и добавление столбца

В python 3.5+ есть более простой способ получить мелкую копию с помощью оператора ** распаковки. Определено Pep 448 .

>>>dict1 = {"key1": "value1", "key2": "value2"}
>>>dict2 = {**dict1}
>>>print(dict2)
{'key1': 'value1', 'key2': 'value2'}
>>>dict2["key2"] = "WHY?!"
>>>print(dict1)
{'key1': 'value1', 'key2': 'value2'}
>>>print(dict2)
{'key1': 'value1', 'key2': 'WHY?!'}

** распаковывает словарь в новый словарь, который затем присваивается dict2.

Мы также можем подтвердить, что каждый словарь имеет отдельный идентификатор.

>>>id(dict1)
 178192816

>>>id(dict2)
 178192600

Если требуется глубокая копия, то copy.deepcopy () все еще остается в пути.

2
задан bryan 16 January 2019 в 19:29
поделиться

1 ответ

Вы можете использовать JOIN. Например:

SELECT
  IFNULL(OnSite.worksite_id, Documents.worksite_id) as `Worksite`,
  DATE(IFNULL(OnSite.timestamp, Documents.timestamp)) as `Date`,
  COUNT(DISTINCT OnSite.uid) as `Users_On_Site`,
  COUNT(Documents.worksite_id) as `Completed`
FROM OnSite
  LEFT JOIN Documents ON OnSite.worksite_id = Documents.worksite_id AND DATE(OnSite.timestamp) = DATE(Documents.timestamp)
GROUP BY `Date`, `Worksite`;
0
ответ дан Maxim Fedorov 16 January 2019 в 19:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: