Cómo ordenar la tabla en ECTO basado en dos columnas -- elixir campo con ecto camp Relacionados El problema

How to sort table in ecto based on two columns


2
vote

problema

Español

Tengo tabla con time y 9988777666 columna. La columna de operación incluye create , update y delete Los valores y el tiempo tienen elixir URC DateTime. Quiero ordenar en base a DateTime y si varias filas están presentes en función del mismo sello de tiempo, quiero tomar primero url(r'^secure/(?P<code>[a-zA-Z0-9/+]w+)$', 'user.views.decrypt_url'), 0 Filas y que url(r'^secure/(?P<code>[a-zA-Z0-9/+]w+)$', 'user.views.decrypt_url'), 11111 y url(r'^secure/(?P<code>[a-zA-Z0-9/+]w+)$', 'user.views.decrypt_url'), 2 .

mal:

  url(r'^secure/(?P<code>[a-zA-Z0-9/+]w+)$', 'user.views.decrypt_url'), 3  

correcto

  url(r'^secure/(?P<code>[a-zA-Z0-9/+]w+)$', 'user.views.decrypt_url'), 4  

Por lo tanto, siempre daría prioridad a url(r'^secure/(?P<code>[a-zA-Z0-9/+]w+)$', 'user.views.decrypt_url'), 5 y que url(r'^secure/(?P<code>[a-zA-Z0-9/+]w+)$', 'user.views.decrypt_url'), 6 se seleccionaría y los valores relacionados con url(r'^secure/(?P<code>[a-zA-Z0-9/+]w+)$', 'user.views.decrypt_url'), 7 deben venir al fin.

Si lo hacemos ecto utilizando la siguiente consulta, donde siempre aceptaría "Eliminar" como primer valor, pero no ordenaría 99887776618 y url(r'^secure/(?P<code>[a-zA-Z0-9/+]w+)$', 'user.views.decrypt_url'), 9 FILROWS. Tengo curiosidad por saber si podríamos ampliar el uso de fragmentos en esta consulta para tener la clasificación según todos los campos y const iterate = (obj) => { Object.keys(obj).forEach(key => { console.log(`key: ${key}, value: ${obj[key]}`) if (typeof obj[key] === 'object') { iterate(obj[key]) } }) } 1 const iterate = (obj) => { Object.keys(obj).forEach(key => { console.log(`key: ${key}, value: ${obj[key]}`) if (typeof obj[key] === 'object') { iterate(obj[key]) } }) } 2.

  const iterate = (obj) => {     Object.keys(obj).forEach(key => {         console.log(`key: ${key}, value: ${obj[key]}`)          if (typeof obj[key] === 'object') {             iterate(obj[key])         }     }) } 3  
Original en ingles

I have table with time and operation column. Operation column includes create, update and delete values and time has elixir utc datetime. I want to sort based on datetime and if multiple rows are present based on same time stamp I want to first take delete rows and than create and than update.

Wrong:

1. { time: TIME1, operation: "create" } 2. { time: TIME1, operation: "delete" } 3. { time: TIME1, operation: "update" } 

Correct

1. { time: TIME1, operation: "delete" } 2. { time: TIME1, operation: "create" } 2. { time: TIME1, operation: "update" } 

So it would always give priority to delete and than create would be selected and values related to update should come at last.

If we do it ecto using following query where it would always accept "delete" as first value but it would not sort update and create rows. I am curious to know if we could somehow extend usage of fragments in this query to have sorting based on all create, update and delete fields.

     |> order_by([e],        asc: e.time,        desc: e.operation == "delete"       ) 
     

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

Puedes probar esto (si usa Postgres):

  filter1 = [2,8,None] 111  

Detalles sobre dicho pedido aquí: orden de SQL por múltiples valores en específico ¿Orden?

 

You can try this (if you use postgres):

|> order_by([e],   asc: e.time,   asc: fragment("CASE ? WHEN 'delete' THEN 1 WHEN 'create' THEN 2 WHEN 'update' THEN 3 END", e.operation) )  

Details about such ordering here: sql ORDER BY multiple values in specific order?

 
 

Relacionados problema

3  Mostrar el último registro en la base de datos utilizando Phoenix / ECTO  ( Display last record in database using phoenix ecto ) 
Esta es una pregunta tan básica que estoy fallando en encontrar los detalles en línea. Tengo un modelo llamado 'radios' y deseo mostrar la última radio agre...

12  Implementaciones de protocolo duplicado en proyectos dependientes  ( Duplicate protocol implementations in dependent projects ) 
Tengo problemas con la consolidación de la implementación del protocolo en mi proyecto Elixir. Para ser más específico, utilizo Ecto y algún proyecto simple...

2  ECTO - Migre la columna de la tabla en su propia tabla de unión (cambiando los datos a las nuevas tablas)  ( Ecto migrate table column into its own join table shifting the data to the ne ) 
Me gustaría ir de esto: imports Kleene_Algebra.Kleene_Algebra_Models8 a esto: imports Kleene_Algebra.Kleene_Algebra_Models9 Sin perder mis datos a...

3  Cómo implementar los colonos en los modelos ECTO (o estructuras de elixir)  ( How to implement setters on ecto models or elixir structs ) 
Vengo de una mentalidad de Rails y estoy acostumbrado a agregar muchos colonos a los modelos Activerecord a las cadenas de recorte / minúsculas (por ejemplo, ...

2  Comprensión de elixir que devuelve un carácter estrella '*'  ( Elixir comprehension returning a star character ) 
Tengo una lista de modelos de persona que se devuelven en p.followings y quiero extraer el campo [42]4 de esta lista de modelos en una lista separada. ...

5  Error de solicitud de paraguas al intentar crear una migración con ECTO ELIXIR  ( Umbrella application error when trying to create a migration with ecto elixir ) 
Estoy tratando de crear una migración usando el comando Backgrid.UriCell2 y estoy obteniendo el error: Backgrid.UriCell3 ¿Por qué estoy recibiendo est...

5  Únete a dos tablas pertenecen a dos bases de datos en Elixir EcoT  ( Join two tables belong to two database in elixir ecto ) 
En Elixir, con ECTO, es posible unir a dos tablas diferentes (en el mismo host) que pertenecen a diferentes dos bases de datos. Hay dos bases de datos llama...

2  Elixir ECTO, Tipo de cambio fallido a Jsonb  ( Elixir ecto failed change type to jsonb ) 
Tengo un error al modificar el tipo de columna a JSONB o MAP. Aquí está mi archivo de migración: def change do alter table(:disbursements) do m...

0  Esquema incrustado dinámico basado en el tipo  ( Dynamic embedded schema based on type ) 
Tengo un campo JSON / MAP en la base de datos que en realidad puede contener 3 tipos de objetos basados ​​en el campo Tipo Definir en la Tabla SO Estructura...

0  ¿Cómo hago actualizar estas funciones la cantidad de un artículo si ya existe en el esquema incrustado y no agregar el elemento a la lista?  ( How do i make this functions update the quantity of an item if it already exists ) 
Espero que estas funciones agreguen un elemento a un esquema incrustado que sirve como carrito en una aplicación de comercio electrónico y también actualice l...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos