Qual è il motivo per cui le due query seguenti danno risultati completamente diversi?Che cosa fa la grande differenza tra un apice e un apostrofo?
MariaDB [mydatabase]> SELECT COUNT(DISTINCT(`price`)) FROM `products`; --Good
+--------------------------+
| COUNT(DISTINCT(`price`)) |
+--------------------------+
| 2059 |
+--------------------------+
1 row in set (0.01 sec)
MariaDB [mydatabase]> SELECT COUNT(DISTINCT('price')) FROM `products`; --Bad
+--------------------------+
| COUNT(DISTINCT('price')) |
+--------------------------+
| 1 |
+--------------------------+
1 row in set (0.01 sec)
Googled intorno per una spiegazione della differenza tra apici inversi e apostrofi (aka. Apici), ma sono in grado di trovare alcuna indicazione sul motivo per cui sarebbero stati interpretati in modo diverso per un nome di colonna come in quanto sopra.
È che la stringa con quotatura singola nell'ultima query non viene in realtà interpretata come un nome di colonna, ma solo come un letterale stringa arbitrario, di cui si può dire che sia "1"? Se è così, non è facile trovare pagine che espongono questo significato dell'apostrofo.
non vedo nulla in quelle pagine per suggerire che COUNT (DISTINCT) restituirà 1 su una stringa letterale, che era ciò che realmente ha gettato me ne vado, ma grazie comunque. –