Tengo una pregunta sobre la diferencia en los operadores = y in .
Anteriormente usé operator in en la mayoría de los casos, pero descubrí que no funciona en el cuestionario de hoy. La pregunta es la siguiente:
Consulte el número_cliente de la tabla de pedidos para el cliente que ha realizado la mayor cantidad de pedidos.
Se garantiza que exactamente un cliente habrá realizado más pedidos que cualquier otro cliente.
La tabla de pedidos se define de la siguiente manera:
| Column | Type | |-------------------|-----------| | order_number (PK) | int | | customer_number | int | | order_date | date | | required_date | date | | shipped_date | date | | status | char(15) | | comment | char(200) |Entrada de muestra
| order_number | customer_number | order_date | required_date | shipped_date | status | comment | |--------------|-----------------|------------|---------------|--------------|--------|---------| | 1 | 1 | 2017-04-09 | 2017-04-13 | 2017-04-12 | Closed | | | 2 | 2 | 2017-04-15 | 2017-04-20 | 2017-04-18 | Closed | | | 3 | 3 | 2017-04-16 | 2017-04-25 | 2017-04-20 | Closed | | | 4 | 3 | 2017-04-18 | 2017-04-28 | 2017-04-25 | Closed | |Salida de muestra
| customer_number | |-----------------| | 3 |Y mi enfoque es:
select customer_number from orders group by customer_number having count(*) in ( select max(total) from ( select count(*) as total from orders group by customer_number ) as d ) Pero no producirá ningún resultado. Si reemplazo el in con = , puedo obtener lo que me gustaría. ¿Alguien podría explicar esto?