sql >> Databáze >  >> RDS >> Mysql

Použití dvou agregovaných hodnot z poddotazu SELECT v jednom vnějším dotazu SELECT

Tyto 2 poddotazy můžete sloučit do 1:

SELECT MAX(c.cust_id) AS max_nh_cust_id,
       MAX(a.avail_balance) AS max_nh_avail_balance 
FROM account a INNER JOIN customer c 
ON a.cust_id = c.cust_id 
WHERE c.state = 'NH'

a připojte se k němu takto:

SELECT a.cust_id
FROM account a 
INNER JOIN customer c ON a.cust_id = c.cust_id
INNER JOIN (
  SELECT MAX(c.cust_id) AS max_nh_cust_id,
         MAX(a.avail_balance) AS max_nh_avail_balance 
  FROM account a INNER JOIN customer c 
  ON a.cust_id = c.cust_id 
  WHERE c.state = 'NH'
) t ON c.cust_id > t.max_nh_cust_id AND a.avail_balance > t.max_nh_avail_balance
WHERE c.state = 'MA'

Podívejte se na ukázku .
Výsledky:

> | cust_id |
> | ------: |
> |      13 |



  1. Jak odstranit nežádoucí úvodní znaky z řetězce v MySQL

  2. Jak přidat komentáře do tabulky nebo sloupce v mysql pomocí SQLAlchemy?

  3. Spuštění ProxySQL jako pomocného kontejneru na Kubernetes

  4. PHP nevidí rozšíření mysql