我正在使用电子商务系统,并且正在尝试修改产品的排序方式。
我的问题是,当两个项目具有相同的值时,mysql如何处理排序?
例如
产品按分配给它们的位置排序(因此位置 1 将显示在顶部)。
但是,如果我有 3 个产品分配给位置 1 和 2 个产品分配给位置 2,那么默认情况下分配给位置 1 的 3 个产品是如何排序的?这会特定于电子商务系统还是有 mysql 默认值,例如 ID?
我希望这足够清楚,我无法通过谷歌搜索真正找到任何好的答案。
您可以指定要排序的其他字段,最早的字段优先,但后面的字段决定如何打破平局。例如:
ORDER BY foo ASC, bar DESC
结果是随机的,因为不会应用其他“默认”顺序。如果您需要按多列排序,您可以这样做
order by position, id, date
ORDER BY
您可以在子句中给出多个列名(例如 A、B、C) 。当 A 中的值相等时,B 用于做出排序决策。如果在 B 中也相等,则使用 C。这称为字典顺序。SELECT
请参阅命令和ORDER BY
子句的任何 SQL 文档。