Jump to content

Search the Community

Showing results for tags 'distinct'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 14 results

  1. Jonatas Provido

    Distinct ainda retorna duplicidade

    Pessoal estou mexendo em um relatório porem quando ele me retorna ele me traz ainda em duplicidade. veja na imagem se aguem puder me dar uma luz. SELECT DISTINCT ITE.CODPROD, ITE.SEQUENCIA, PRO.DESCRPROD, ITE.AD_COMPLEMENTO, PAP.CODPROPARC, ITE.CONTROLE, ITE.USOPROD, (CASE WHEN VOA.CODPROD IS NULL THEN ITE.QTDNEG WHEN VOA.DIVIDEMULTIPLICA = 'D' THEN ITE.QTDNEG * VOA.QUANTIDADE ELSE ITE.QTDNEG / VOA.QUANTIDADE END) AS QTDNEG, (CASE WHEN VOA.CODPROD IS NULL THEN ITE.VLRUNIT WHEN VOA.DIVIDEMULTIPLICA = 'D' THEN ITE.VLRUNIT / VOA.QUANTIDADE ELSE ITE.VLRUNIT * VOA.QUANTIDADE END) AS VLRUNIT, ITE.CODVOL, ITE.VLRDESC, ITE.QTDNEG * ITE.VLRUNIT AS TOTALITEM, ITE.VLRTOT - ITE.VLRDESC AS TOTLIQ, (CASE WHEN ITE.DTINICIO IS NULL THEN CAB.DTPREVENT ELSE ITE.DTINICIO END) AS DTPREV, USU.NOMEUSU, ITE.VLRIPI, (ITE.VLRIPI / (ITE.VLRTOT - ITE.VLRDESC)) * 100 AS PERCIPI FROM TGFITE ITE INNER JOIN TGFCAB CAB ON (CAB.NUNOTA = ITE.NUNOTA) INNER JOIN TGFPRO PRO ON(ITE.CODPROD = PRO.CODPROD) LEFT JOIN TSIUSU USU ON (USU.CODUSU = ITE.AD_CODUSU) LEFT JOIN TGFPAP PAP ON ITE.CODPROD = PAP.CODPROD AND CAB.CODPARC = PAP.CODPARC AND ITE.CODVOL = PAP.UNIDADEPARC LEFT JOIN TGFVOA VOA ON( VOA.CODPROD = ITE.CODPROD AND VOA.CODVOL = ITE.CODVOL AND ((ITE.CONTROLE IS NULL AND VOA.CONTROLE = ' ') OR (ITE.CONTROLE IS NOT NULL AND ITE.CONTROLE = VOA.CONTROLE)) ) WHERE CAB.NUNOTA = 55854 AND ITE.SEQUENCIA > 0 ORDER BY ITE.SEQUENCIA
  2. brunoogm

    Select Distinct ou Group By

    Pessoal tenho uma tabela no php cujo resultado do select vindo do bd vem no seguinte formato: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 26 46 15/05/2019 13:57:25 Dinheiro Pendente Bacon Cheddar 1 60.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Chicken Club Sandwich 1 45.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Philly Cheese Steak 1 50.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Smoke House 1 55.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Stream Miller 1 35.00 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- E eu gostaria de fazer um select para que nao repita os dados iguais e que a tabela viesse assim: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Bacon Cheddar 1 60.00 Chicken Club Sandwich 1 45.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Philly Cheese Steak 1 50.00 Smoke House 1 55.00 Stream Miller 1 35.00 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Alguem pode me ajudar, qual seria a melhor forma de fazer ? Essa tabela é gerada com um while no php entao se alguem saber uma outra maneira de montar isso aceito dicas. php: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- echo "<tr role='row' class='odd'>"; echo "<td class='sorting_1'>" .$resultado['CodigoComanda']. "</td>"; echo "<td>" .$resultado['Nome']."</td>"; echo "<td>" .$resultado['Quantidade']."</td>"; echo "<td>" .$resultado['Preco']."</td>"; echo "<td>" .$resultado['Metodos']."</td>"; echo "<td>" .$resultado['DataPedido']."</td>"; echo "<td>" .$resultado['Situacao']."</td>"; echo "</tr>"; ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- vlw pessoal
  3. brunoogm

    Select Distinct ou Group By

    Pessoal tenho uma tabela no php cujo resultado do select vindo do bd vem no seguinte formato: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 26 46 15/05/2019 13:57:25 Dinheiro Pendente Bacon Cheddar 160.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Chicken Club Sandwich 145.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Philly Cheese Steak 150.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Smoke House 155.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Stream Miller 135.00 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- E eu gostaria de fazer um select para que nao repita os dados iguais e que a tabela viesse assim: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 46 15/05/2019 13:57:25 Dinheiro Pendente Bacon Cheddar 160.00 Chicken Club Sandwich 145.00 Philly Cheese Steak 150.00 Smoke House 155.00 26 46 15/05/2019 13:57:25 Dinheiro Pendente Stream Miller 135.00 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  4. Boa tarde, Estou tentando usar o DISTINCT em uma consulta LINQ porém não está funcionando. Implementei tanto a interface IEquatable quando a interface IEqualityComparer mas mesmo assim não é possível distinguir as instâncias. Alguém já passou por isso? Poderia ajudar? Desde já obrigado. Public Class Teste Implements IEquatable(Of Teste), IEqualityComparer(Of Teste) Private _Codigo As Integer Public Property Codigo() As Integer Get Return _Codigo End Get Set(ByVal value As Integer) _Codigo = value End Set End Property Public Sub New(id As Integer) Me.Codigo = id End Sub Public Overrides Function Equals(obj As Object) As Boolean Return DirectCast(obj, Teste).Codigo = Me.Codigo End Function Public Function Equals1(other As Teste) As Boolean Implements IEquatable(Of Teste).Equals Return Me.Codigo = other.Codigo End Function Public Function Equals2(x As Teste, y As Teste) As Boolean Implements IEqualityComparer(Of Teste).Equals Return x.Codigo = y.Codigo End Function Public Function GetHashCode1(obj As Teste) As Integer Implements IEqualityComparer(Of Teste).GetHashCode Return DirectCast(obj, Teste).Codigo End Function End Class Testando: Dim p1 As New Teste(78) Dim p2 As New Teste(78) Dim l As New List(Of Teste) From {p1, p2} MsgBox(l.Distinct().Count()) MsgBox(l.Distinct().ToList().Count)
  5. Renan Cabral

    Distinct no MySQL

    Caros, Preciso de uma grande ajuda e não estou conseguindo avançar. Tenho um banco de dados MySQL com 1 tabela que contem mais de 8.000.000 campos. Basicamente ela é assim (exemplo): ID ID_Equipamento Valor1 Valor2 5000 10 fdas 341341 4999 9 fdas 15145 4998 8 fasfa 4351 4997 7 fdafd 415 4996 3 das 67467 4995 2 dasdasdas 7 4994 1 qgrgbsg 74 4993 9 bsgb 423527 4992 8 sgarhy 6 4991 6 bsbsgb 8461546 4990 5 rwrqrqrgaf 5 4989 4 fvafdv 87 4988 3 afvafg 85 4987 1 afvafg 85 4986 5 ag 634 4985 3 gfag 2 4984 2 fdaga 51 4983 9 gfaga 431 4982 8 gffga 245262653 4981 6 gfa 2 Onde ID é um auto incrementador na hora da inserção de um dado. E ID_Equipamento é a referência de qual equipamento as informações são. Estou precisando pegar os últimos valores (Valor1, Valor2) de cada ID_Equipamento (Todos os ID_Equipamentos - 1 a 10, mas somente o último cadastrado). O último valor seria pelo último ID cadastrado daquele ID_Equipamento Nesse caso seria: ID ID_Equipamento Valor1 Valor2 5000 10 fdas 341341 4999 9 fdas 15145 4998 8 fasfa 4351 4997 7 fdafd 415 4996 3 das 67467 4995 2 dasdasdas 7 4994 1 qgrgbsg 74 4991 6 bsbsgb 8461546 4990 5 rwrqrqrgaf 5 4989 4 fvafdv 87 Já tentei utilizar o DISTINCT, porém ele só retorna uma coluna com o ID_Equipamento: ID_Equipamento 10 9 8 7 3 2 1 6 5 4 Há alguma possibilidade de fazer o que eu quero fazer? Ou usando group by? ou MAX(ID)? Depois que conseguir fazer no MySQL, irei passar pro PHP e assim o tempo não pode ser tão alto para a execução... Grato!
  6. Alessandro Almeida

    DISTINCT + SUM

    Prezados, Estou precisando somar a coluna QUANTIDADE que são consultadas com um "DISTINCT material". Segue código até o "DISTINCT material" ... $busca_query = mysql_query("SELECT distinct material FROM material WHERE material LIKE '%$busca%' AND quantidade LIKE '%$busca1%' ORDER BY material ASC")or die(mysql_error());//faz a busca com as palavras enviadas if (empty($busca_query)) { //Se nao achar nada, lança essa mensagem echo "Nenhum registro encontrado."; } // quando existir algo em '$busca_query' ele realizará o script abaixo. while ($dados = mysql_fetch_array($busca_query)) { ?> <tr width="100%"> <td width="82%"><?php echo "$dados[material]<br />";?></td> <td width="10%"><?php echo "$dados[quantidade] <br />";?> ...
  7. André Guilherme Hoffmann Rosa

    Distinct em uma coluna, e as outras colunas somem, pq???

    Olá pessoal, Estou usando esta instrução para obter estes resultados que estão no anexo: SELECT * FROM servicos s WHERE s.tios_id = (SELECT MAX(t.idtios) FROM tios t WHERE t.idtiOs = s.tios_id) ORDER BY s.statusServicos DESC, s.tios_id DESC O s.tios_id não pode repetir. Preciso que esta consulta retorne somente 4 linhas, como viram, só existe 4 s.tios_id. Se uso DISTINCT no s.tios_id, a consulta me retorna somente 4 linhas como eu quero, porem as outras colunas somem. Alguem? Please!
  8. Tenho uma tabela com dados de vale transporte dos meus funcionários da empresa: nome ! valor1 ! valor2 ! valor3 teste1 ! 6.50 ! 0.00 ! 0.00 teste2 ! 4.30 ! 2.80 ! 1.10 teste3 ! 8.40 ! 1.10 ! 0.00 teste4 ! 2.85 ! 1.10 ! 0.00 onde é possível o funcionário pegar até 3 linhas de ônibus para vir ao trabalho, por isso tenho estas três colunas. O problema que estou passando é o seguinte, quero retornar os dados das três colunas sem repetição, onde eu tenha todos valores de linhas de ônibus dos funcionários. Preciso que me retorne se possível em uma única coluna os dados sem repetir, sem valores '0.00' e ordenado ascendente : resultado 1.10 2.80 2.85 4.30 6.50 8.40
  9. Tenho uma tabela que gravo o idioma e a fluência do candidato. Por ex: Candidato Idioma Fluência 1 Inglês 1 2 Espanhol 3 3 Francês 2 Quero saber quantos candidatos tem inglês, espanhol e francês básico, avançado e intermediário. Para isso, eu faço o seguinte: select Idioma, COUNT(distinct(Candidato)) as Total, count(CASE WHEN Fluência = 1 THEN 'Básico' ELSE NULL END) as Básico, count(CASE WHEN Fluência = 2 THEN 'Intermediário' ELSE NULL END) as Intermediário, count(CASE WHEN Fluência = 3 THEN 'Avançado' ELSE NULL END) as Avançado from tabela group by Idioma O resultado é: Idioma Total Básico Intermediário Avançado Inglês 2 2 0 0 Espanhol 3 1 1 1 Francês 1 0 1 0 Porém, se tiver um registro duplicado, ou seja, de dois candidatos, se um aparecer 3 vezes e outro 2 vezes na tabela com o Inglês básico, o resultado vai ser assim: Idioma Total Básico Intermediário Avançado Inglês 2 5 0 0 Espanhol 3 1 1 1 Francês 1 0 1 0 Como eu faço nesse caso para contar somente os registros únicos?
  10. Tenho uma tabela de cadastro de equipamento chamada de taob, e outra tabela com cadastro de eventos de manutenção chamada de tcev. Meu objetivo é listar por categoria de equipamentos (dimensão do indicador) as quantidades de eventos por cada dia num determinado mês, obtendo sua média e desvio-padrão nos dias. Nem todo dia haverá um evento de manutenção em um determinado equipamento, logo preciso que apareça zero neste dia para fins de cálculo do desvio-padrão. Como não gostaria de criar uma tabela "física" no banco para não ficar uma bagunça quando mudar os períodos (várias consultas), fiz uma tabela temporária na memória, desta forma: CREATE TEMPORARY TABLE periodo (dia1 date, primary key (dia1)) ENGINE MEMORY; Depois inseri os dados, para ter a lista dia a dia. INSERT INTO periodo (dia1) VALUES ('2017-11-01'); INSERT INTO periodo (dia1) VALUES ('2017-11-02'); INSERT INTO periodo (dia1) VALUES ('2017-11-03'); INSERT INTO periodo (dia1) VALUES ('2017-11-04'); INSERT INTO periodo (dia1) VALUES ('2017-11-05'); INSERT INTO periodo (dia1) VALUES ('2017-11-06'); INSERT INTO periodo (dia1) VALUES ('2017-11-07'); INSERT INTO periodo (dia1) VALUES ('2017-11-08'); INSERT INTO periodo (dia1) VALUES ('2017-11-09'); INSERT INTO periodo (dia1) VALUES ('2017-11-10'); INSERT INTO periodo (dia1) VALUES ('2017-11-11'); INSERT INTO periodo (dia1) VALUES ('2017-11-12'); INSERT INTO periodo (dia1) VALUES ('2017-11-13'); INSERT INTO periodo (dia1) VALUES ('2017-11-14'); INSERT INTO periodo (dia1) VALUES ('2017-11-15'); INSERT INTO periodo (dia1) VALUES ('2017-11-16'); INSERT INTO periodo (dia1) VALUES ('2017-11-17'); INSERT INTO periodo (dia1) VALUES ('2017-11-18'); INSERT INTO periodo (dia1) VALUES ('2017-11-19'); INSERT INTO periodo (dia1) VALUES ('2017-11-20'); INSERT INTO periodo (dia1) VALUES ('2017-11-21'); INSERT INTO periodo (dia1) VALUES ('2017-11-22'); INSERT INTO periodo (dia1) VALUES ('2017-11-23'); INSERT INTO periodo (dia1) VALUES ('2017-11-24'); INSERT INTO periodo (dia1) VALUES ('2017-11-25'); INSERT INTO periodo (dia1) VALUES ('2017-11-26'); INSERT INTO periodo (dia1) VALUES ('2017-11-27'); INSERT INTO periodo (dia1) VALUES ('2017-11-28'); INSERT INTO periodo (dia1) VALUES ('2017-11-29'); INSERT INTO periodo (dia1) VALUES ('2017-11-30'); Agora que tenho minha tabela temporária, fiz uma combinação dos dados através do from. (...) from (periodo, taob) Quando se usa esta notação no lugar do inner ou left ou right join, haverá uma combinação dos dados entre as tabela periodo e taob, que é o desejado para ter todos os dias por equipamento. Alinhando essas premissas, segue o problema: -> Fiz uma união entre esta combinação com os dados dos eventos, e usei um DISTINCT para não ter repetição dos dados, que não funcionou muito bem. Tive que colocar um group by no final para funcionar. Quando fui obter o desvio-padrão e a média percebi que a fórmula estava considerando todos os dados (inclusive os retirados pelo DISTINCT+GROUP BY), eu preciso que calcule somente os visíveis. Segue código: SELECT DISTINCT Dimensao, dt1, SUM(Qtde), STDDEV_SAMP(Qtde) as desvPad, AVG(Qtde) as media FROM ( ( select taob.CXN3 as Dimensao, Date(tcev.CXDE) as dt1, count(tcev.PIEV) as Qtde from taob left join tcev on (taob.PIOB = tcev.SIOB) where tcev.SIGR=3 and tcev.CXDE between '2017-11-01' and '2017-11-30' group by taob.CXN3, Date(tcev.CXDE) ) UNION DISTINCT ( select taob.CXN3 as Dimensao, periodo.dia1 as dt1, 0 as Qtde from (periodo, taob) where taob.SIGR=3 ) order by Dimensao, dt1, Qtde desc ) as lista GROUP BY Dimensao em anexo o resultado da consulta. Verificando os dados no excel (calculando na "mão") o resultado do desvPad (AMOSTRAL) a dimensão DL deveria ser igual a 2,9752 e se eu considerar os zeros que o DISTINCT "eliminou" a conta (na "mão") bate com o resultado do sql com o valor de 2.8045. Alguém consegue me dar uma pista do que pode estar acontecendo? Ou é uma coisa besta ou é um bom problema. Como sempre! rs! Algumas considerações: taob.CXN3 = Dimensão do equipamento ou indicador. tcev.CXDE = Data do evento de manutenção. tcev.PIEV = Chave primária da tabela de eventos de manutenção. taob.PIOB = Chave primária da tabela de equipamentos ou dimensao do indicador. tcev.SIGR = Grupo de cliente = 3 Att, Alanderson A Dalmaso
  11. mldiogo87

    Uso correto LEFT OUTER JOIN + DISTINCT

    Boa tarde, Tenho 2 tabelas: 1-) foto: id, legenda, lugar 2-) lugar: id, nome Gostaria de listar todos os lugares, mas queria que para cada lugar ele fizesse um join na tabela foto e pegasse APENAS UMA legenda da tabela fotos que coincidisse com o LUGAR, ou seja para cada 1 lugar uma foto. Ficando assim: LUGAR 1 LUGAR 1 LEGENDA 2 LUGAR 2 LEGENDA Da maneira como estou fazendo, se existe 5 fotos do lugar, ele exibe os 5 e não apenas 1, como desejo. Se alguém poder ajudar agradeço!! 'SELECT l.id AS idlugar, l.nome AS lugarnome, l.estado AS lugarestado, l.regiao AS lugarregiao, l.usuario, u.nome AS usuarionome, f.caminho AS fotocaminho FROM lugar AS l INNER JOIN usuarios AS u ON u.id = l.usuario LEFT OUTER JOIN fotos AS f ON l.id = f.lugar WHERE l.nome LIKE :filtro ORDER BY l.id DESC Limit 50'
  12. Carlimxx

    Problemas com o Distinct na query

    Bem, eu quero fazer uma coisa simples "pegar o 2 "PostID" dos últimos IDs da tabela de comentários" Nota: o PostID não pode ser o mesmo. Então eu tentei usar essa query: SELECT DISTINCT `PostID` FROM `comments` ORDER BY `ID` DESC LIMIT 2 De acordo com o print a baixo ela deveria retornar 1 e 3 Só que não está funcionando do jeito que eu imaginei que funcionaria... Não sei ao certo o que está acontecendo, parece que ela está apenas ordenando os resultados (e os resultados não são os que eu imaginei que seria) porque está sendo retornado apenas 3 e 2 e quando eu boto pra ordenar ASC retorna 2 e 3. Alguém sabe como eu posso resolver esse problema? Ou sabe alguma forma ou uma função diferença que faça oque eu quero?
  13. Prezados, Eu tenho a tabela "QUALQUER" abaixo com as seguintes colunas e valores: coluna A I Coluna B A F F A L A B A C A A C O que procuro fazer penso que daria pra ser feito com 3 selects, mas apenas consigo 2 selects. Eu quero listar os valores da coluna A com os da coluna B e mostrá-los caso atendam condições específicas: se "A" estiver na coluna "A", liste Coluna B; se "A" estiver na Coluna B, liste coluna A; mostre apenas os valores da coluna A unidos aos valores da coluna B se cada valor distinto aparecer mais do que apenas uma vez. Ou seja, eu quero apresentar apenas os valores "F" e "C". O mais próximo que consegui (que funciona) foi conforme consulta abaixo (que mostra os valores F, L, B e C) (SELECT DISTINCT coluna A FROM qualquer WHERE coluna B='A') UNION ALL (SELECT DISTINCT coluna B FROM qualquer WHERE coluna A='A') Tentei fazer com a expressão abaixo, mas sempre retorna erro. SELECT y FROM ((SELECT DISTINCT coluna A FROM qualquer WHERE coluna B='A') UNION ALL (SELECT DISTINCT coluna B FROM qualquer WHERE coluna A='A')) AS y GROUP BY coluna A HAVING count (*) > 1 Alguém tem uma ideia de como resolver isso? Desde já, agradeço.
  14. Prezados, Estou quebrando a cabeça para fazer um select numa tabela de um banco de dados. Atenção, é uma tabela apenas, então não pode ser feito com INNER JOIN. O que preciso fazer é comparar os registros entre duas colunas, considerando diferentes linhas. Apenas consegui até o momento fazer uma comparação de linha a linha e não mostrar os registros com "mesmo nome" nas duas colunas em linhas diferentes. Para tentar ilustrar melhor o que procuro fazer, deixo um exemplo abaixo. Imaginem uma tabela chamada animais: Coluna A I Coluna B cachorro mosquito gato cobra lebre coelho cachorro cachorro (linha 4) papagaio orangotango O resultado da consulta que preciso é o seguinte: Coluna A I Coluna B cachorro cachorro cachorro (linha 4) Como mencionei anteriormente, o que consegui foi apenas mostrar a linha 4 através da fórmula: SELECT * FROM animais WHERE Coluna A=Coluna B Ou seja, não aparece a linha 1. Entendo que logicamente ela não deve aparecer por não estar repetida na coluna B, mas necessitaria que a palavra "cachorro" aparecesse no resultado do select caso houvesse ColunaA=ColunaB. Por fim, não posso utilizar algo como SELECT * FROM animais WHERE Coluna A='cachorro' OR Coluna B='cachorro', pois não sei se é só o cachorro que vai acontecer isso, podia ser lebre, papagaio, orangotango, qualquer coisa. Resumindo, o que procuro mesmo é uma forma de comparar os registros entre colunas de uma mesma tabela, mostrando apenas as ocorrências iguais entre colunas, em diferentes linhas e não de linha a linha. Espero ter sido claro. Aguardo uma ajuda. Muito obrigado!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.