>Come può ottenersi la query
>
>ID | IDTIPO | NUMERO
>---------------------
>2 | 1 | 10
>6 | 2 | 10
>9 | 3 | 30
>
>che è quella che voglio?
Non conosco MySQL ma una soluzione standard (creata con SQL Server 2008) potrebbe essere:
USE tempdb;
CREATE TABLE dbo.foo(
ID int NOT NULL PRIMARY KEY,
IDTIPO int NOT NULL,
NUMERO int NOT NULL
);
INSERT dbo.foo VALUES
(1, 1, 20)
, (2, 1, 10)
, (3, 1, 30)
, (4, 2, 40)
, (5, 2, 20)
, (6, 2, 10)
, (7, 3, 50)
, (8, 3, 40)
, (9, 3, 30);
SELECT F.*
FROM dbo.foo AS F
INNER JOIN (
SELECT
IDTIPO
, MIN(NUMERO) AS NUMERO
FROM dbo.foo
GROUP BY IDTIPO
) AS Q
ON F.IDTIPO = Q.IDTIPO
AND F.NUMERO = Q.NUMERO;
/* Output:
ID IDTIPO NUMERO
----------- ----------- -----------
2 1 10
6 2 10
9 3 30
(3 row(s) affected)
*/
DROP TABLE dbo.foo;
>Grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org