Portuguese, Brazilian subtitles

← PS 08-20 Cláusula ORDER BY - Solução

Get Embed Code
4 Languages

Showing Revision 4 created 09/17/2013 by Lia Cavalcante Griffiths.

  1. Então, ok, aqui está minha resposta
  2. O SQL é SELECT * FROM links
  3. WHERE submitter_id = 62443
  4. ORDER BY submitted_time ASC
  5. para ascendente
  6. Estas são as restrições da pergunta.
  7. 62443 e submission_time
  8. E o que eu estou fazendo é iterar sobre os resultados
  9. criando uma ligação
  10. ligando o id dos links à lista de resultados
  11. e estou retornando os resultados.
  12. Então sigamos em frente e rodemos isso, para ver se funciona.
  13. Aqui vemos nossas respostas, 15, 18 e 101
  14. Estes são os ids dos links corretos.
  15. Minha resposta tem esta aparência porque eu venho seguindo a forma do trabalho em que vimos trabalhando.
  16. A estrutura geral desta função.
  17. Mas se eu tivesse de criar uma função que fizesse apenas isto,
  18. apenas retornar os ids de alguns links,
  19. existe um par de coisas desnecessárias aqui
  20. Então eu vou simplesmente removê-las e mostrar para você.
  21. Primeiramente, nós não precisamos digitar SELECT * FROM links
  22. Se tudo o que queremos são os ids
  23. Portanto vamos selecionar apenas os ids.
  24. Aqui estamos criando apenas um objeto link, para cada linha de resultado que obtivermos.
  25. Bem, na verdade, nós não precisamos de um objeto link.
  26. Se nós vamos apenar obter os ids dos resultados,
  27. nós podemos retornar apenas estes, quase diretamente.
  28. Então vamos nos livrar deste laço.
  29. E, ao invés, mudar para algo como isso.
  30. Ok, então eu simplifiquei bastante.
  31. A sintaxe aqui compreende uma lista.
  32. Uma forma simples de se fazer uma lista.
  33. Nós ainda rodamos nosso SQL,
  34. Desta vez estamos apenas selecionando os ids.
  35. E, dado que a biblioteca Python SQLite retorna tuplas dos resultados,
  36. e que neste caso estamos perguntando apenas pelo id,
  37. sabemos que a primeira coluna será o id.
  38. Então for t in c -- para a tupla no cursor -
  39. fazer uma lista com o primeiro elemento de cada uma dessas tuplas,
  40. armazene isso em results e retorne o valor.
  41. Vamos em frente imprimir isso.
  42. E as respostas são as mesmas: 15, 18 e 101.
  43. Ok. Só um pouquinho mais de Python para você.
  44. Vamos em frente.