Pregunta

Espero que esto no es una cuestión terriblemente obtuso. Me he dado cuenta que MySQL me deja refiero de nuevo al campo "MNTH" en mi grupo y el orden. Este no es el caso en cada motor de base de los que he trabajado. ¿Puede alguien confim que este es un enfoque bien?

SELECT DATE_FORMAT(FROM_UNIXTIME(`swauditlogs`.`dateline`),'%Y-%m') AS Mnth, Count(`swauditlogs`.`ticketid`) AS Count
FROM swauditlogs LEFT JOIN swtickets ON swauditlogs.ticketid = swtickets.ticketid
WHERE swauditlogs.actionmsg Like 'Ticket status changed from:%to: Closed'
GROUP BY Mnth
ORDER BY Mnth DESC
¿Fue útil?

Solución

Está bien. De http://dev.mysql.com/doc/refman/5.0 /en/select.html :

  

A select_expr puede tener un alias usando AS nombre_alias. El alias se utiliza como nombre de la columna de la expresión y se puede utilizar en GROUP BY, ORDER BY o HAVING.

No me gusta que la cláusula LIKE sin embargo. ¿No hay otra columna se puede probar en lugar de tener que realizar una LIKE en una cadena?

Otros consejos

Eso es aceptable en MySQL:

ver aquí: http: // dev.mysql.com/doc/refman/5.1/en/group-by-hidden-columns.html

  

Tenga en cuenta que si usted está tratando de seguir   SQL estándar, no se puede utilizar   expresiones en las cláusulas GROUP BY. Tú   Puede solucionar esta limitación   usando un alias para la expresión ...

... lo que implica que puede utilizar expresiones con MySQL.

No sé acerca de los componentes internos de MySQL, pero utilicé una consulta similar en nuestro sistema de producción, y hasta hoy la consulta no se ha estrellado todavía. Así que esto no es una respuesta MySQL núcleo hacker, sólo mi observación.

Ah, me olvidaba: DE GARANTÍAS: El hecho de que yo digo que veo no hay trampas, no significa que no hay ninguno; -)

En mi humilde opinión, la consulta se ve bien para MySQL.

estándar SQL no permite referencias a los alias de columna en una cláusula WHERE, pero se puede utilizar el alias en GROUP BY, ORDER BY o HAVING para referirse a la columna.

http://dev.mysql.com /doc/refman/5.0/en/problems-with-alias.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top