Инспектор Жопидý
Оракул
(86401)
1 год назад
Вот запрос SQL, который вы можете использовать для подсчета среднего расхода на хот-доги с добавлением кетчупа и майонеза одновременно или на хот-доги с мясной сосиской для клиента с браслетом 145863:
```sql
SELECT
AVG(price) AS average_spend
FROM
hotdogs
WHERE
bracelet_id = 145863
AND (mayonnaise = 1 AND ketchup = 1)
OR sausage_type = 'meat';
```
Этот запрос сначала выбирает все строки из таблицы `hotdogs`, где браслет клиента равен 145863. Затем он использует оператор `OR`, чтобы объединить два условия:
* **(mayonnaise = 1 AND ketchup = 1)**: Это условие выбирает все хот-доги, на которые добавлены кетчуп и майонез.
* **sausage_type = 'meat':** Это условие выбирает все хот-доги с мясной сосиской.
После этого запрос вычисляет среднее значение поля `price` для всех строк, которые соответствуют условиям.
Вот пример выходных данных этого запроса:
```
average_spend
-------
5.00
```
Это означает, что клиент с браслетом 145863 в среднем тратит 5 долларов на хот-доги с добавлением кетчупа и майонеза одновременно или на хот-доги с мясной сосиской.
Вот еще один вариант запроса, который можно использовать:
```sql
SELECT
AVG(price) AS average_spend
FROM
hotdogs
WHERE
bracelet_id = 145863
AND (mayonnaise + ketchup) = 2
OR sausage_type = 'meat';
```
Этот запрос использует более простой подход, используя оператор `+` для суммирования значений полей `mayonnaise` и `ketchup`. Если сумма равна 2, это означает, что на хот-дог добавлены кетчуп и майонез.
Вот пример выходных данных этого запроса:
```
average_spend
-------
5.00
```
Этот результат такой же, как и результат первого запроса.
Konstantin
Знаток
(341)
11 месяцев назад
SELECT AVG(price*quantity)
--bracelet_id,price,quantity,vegan_sausage,mayonnaise,ketchup
FROM hotdog
WHERE bracelet_id = 145863
AND ((vegan_sausage = 1 AND mayonnaise = 1 AND ketchup = 1) OR vegan_sausage = 0);