Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!
Tenho uma tabela de clientes e preciso selecionar 2 de cada tipo, sem repetir nomes
Tabela usuários:
cod | nome | tipo
1 | Maria | A
2 | Maria | B
3 | Maria | C
4 | Carlos | A
5 | Carlos | B
6 | Carlos | C
7 | Carlos | D
8 | Luiz | A
9 | Luiz | B
10 | Luiz | C
11 | Luiz | D
12 | Rose | A
13 | Rose | B
14 | Rose | C
15 | Rose | D
16 | Carla | A
17 | Carla | B
18 | Carla | C
19 | Carla | D
20 | Andre | A
21 | Andre | B
22 | Andre | C
23 | Andre | D
Preciso listar 2 nomes (aleatórios) de 3 TIPO, sem repedir os nomes.
Exemplo:
Tipo A: Maria e Rose
Tipo B: Carlos e Luiz
Tipo D: Carla e Andre
Desde já agradeço!
Pouco claro isto , um Cliente pode ter mais um tipo ?
Aparecendo em um tipo poderia aparecer em outro ?
Qual o volume disto ?
"Sem repetir nome" nome completo ou primeiro nome ?
Em princípio faria uma ctegerando uma lista mais um aleatóriodepois uma window function usando rank.
https://stackoverflow.com/questions/4329396/mysql-select-10-random-rows-from-600k-rows-fast
tente usar um distinct no name
https://dev.mysql.com/doc/refman/8.0/en/distinct-optimization.html