Co powoduje, że następujące dwa zapytania dają zaskakująco różne wyniki?Co sprawia, że duża różnica między odgałęzieniem a apostrofem?
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)
Mam googled wokół o wyjaśnienie różnicy między backticks i apostrofów (aka. Apostrofów), ale nie jestem w stanie znaleźć żadnej wskazówki co do dlaczego mieliby być interpretowane w różny sposób dla nazwy kolumny jak w powyższym.
Czy to, że pojedynczy cudzysłów w tym ostatnim zapytaniu faktycznie nie jest interpretowany jako nazwa kolumny, ale tak jak dowolny ciąg literału, o którym można powiedzieć, że jest "1"? Jeśli tak, nie jest łatwo znaleźć jakiekolwiek strony wyjaśniające to znaczenie apostrofu.
widzę nic w tych stronach, które sugerowałyby, że COUNT (DISTINCT) zwróci 1 na sznurku dosłownym, który był co naprawdę wyrzucił mnie, ale dzięki. –