如何在mysql和php中更改表列?

时间:2018-07-07 13:48:51

标签: php mysql sql

我有1张表,我想在我的php文件中使用alter函数对视图列进行重新排序,基本上应该在大多数视图中将其重新排序为最小视图顺序。并希望它以相同的顺序显示已更改,但它正在显示按照ID的顺序。

现在在这里我不想使用ORDER BY视图DESC,这就是为什么我使用alter function。因为我已经在我的php文件中使用ORDER BY名称ASC。

TABLE =>用户

 id   |  name  | views
  1   |  user1 |  700
  2   |  user3 |  900
  3   |  user1 |  200
  4   |  user4 |  900
  5   |  user4 |  800
  6   |  user4 |  800
  7   |  user3 |  900
  8   |  user4 |  900
  9   |  user5 |  100
 10   |  user5 |  100


// this is random table..//

最后,我正在寻找按表排序的视图中的数据,那么我将从表中选择数据,如果名称相同,则它应按视图的顺序排序,以便得到这样的ouptup:

 id   |  name  | views
  1   |  user1 |  900
  2   |  user1 |  700
  3   |  user1 |  200
  4   |  user3 |  900
  5   |  user4 |  900
  6   |  user4 |  800
  7   |  user5 |  900
  8   |  user5 |  900
  9   |  user5 |  300
 10   |  user5 |  100

1 个答案:

答案 0 :(得分:0)

SQL表是无序集。它们没有内在顺序,因此您永远不应依赖未显式声明order by子句的查询返回的任何顺序。就您而言,似乎您需要在顺序中包含两个元素-首先是名称,然后是视图:

SELECT   *
FROM     mytable
ORDER BY name ASC, views DESC