如何用计算排名的结果做一个table?
How to make a table with the result of calculated rankings?
我想用 table 的计算排名结果制作新的 table。我与 PHP 和 MySQL.
一起工作
我通过谷歌搜索得到了一些代码,它可以在屏幕上运行。
Select User_Id, Score, @rank := @rank + 1 as Ranking
from Rankings, (select @rank := 0) XX
order by Score desc
我想知道如何使用这些数据创建新的 table,以便我可以随时查看排名。
我想知道这段代码是否适用于大数据(大量记录)。
任何人都可以帮助这个初学者吗?在此先感谢您的帮助。
根据 this and this,您可以使用 CREATE TABLE ... SELECT
语法。
CREATE TABLE `UserRankings` AS SELECT User_Id, Score, @rank := @rank + 1 AS Ranking
FROM Rankings, (SELECT @rank := 0) XX
ORDER BY Score DESC
1:CREATE TABLE ... SELECT Syntax:您可以通过在 CREATE TABLE
语句末尾添加 SELECT
语句从另一个创建一个 table。
CREATE TABLE new_table_name AS
SELECT User_Id, Score, @rank := @rank + 1 AS Ranking
FROM Rankings, (SELECT @rank := 0) XX
ORDER BY Score DESC;
注意:这将根据select查询自动检测列数据类型和列名,有时它们是不正确的。
要创建所需的列名及其数据类型,您可以在 CREATE TABLE
子句中提及。
CREATE TABLE new_table_name (user_id INT NOT NULL, rank INT)
SELECT User_Id, Score, @rank := @rank + 1 AS Ranking
FROM Rankings, (SELECT @rank := 0) XX
ORDER BY Score DESC;
2: INSERT ... SELECT Syntax: 这将用于在现有的 table.
中存储 select 语句的数据
INSERT INTO existing_table_name (user_id, rank)
SELECT User_Id, Score, @rank := @rank + 1 AS Ranking
FROM Rankings, (SELECT @rank := 0) XX
ORDER BY Score DESC;
您可以使用以下语法
基于select查询数据创建新的table
CREATE TABLE new_tbl [AS] select query;
根据您的查询
Create table Tablename AS Select User_Id, Score, @rank := @rank + 1 as Ranking
from Rankings, (select @rank := 0) XX
order by Score desc
有关详细信息,请参阅 https://dev.mysql.com/doc/refman/5.6/en/create-table-select.html
我想用 table 的计算排名结果制作新的 table。我与 PHP 和 MySQL.
一起工作我通过谷歌搜索得到了一些代码,它可以在屏幕上运行。
Select User_Id, Score, @rank := @rank + 1 as Ranking
from Rankings, (select @rank := 0) XX
order by Score desc
我想知道如何使用这些数据创建新的 table,以便我可以随时查看排名。 我想知道这段代码是否适用于大数据(大量记录)。
任何人都可以帮助这个初学者吗?在此先感谢您的帮助。
根据 this and this,您可以使用 CREATE TABLE ... SELECT
语法。
CREATE TABLE `UserRankings` AS SELECT User_Id, Score, @rank := @rank + 1 AS Ranking
FROM Rankings, (SELECT @rank := 0) XX
ORDER BY Score DESC
1:CREATE TABLE ... SELECT Syntax:您可以通过在 CREATE TABLE
语句末尾添加 SELECT
语句从另一个创建一个 table。
CREATE TABLE new_table_name AS
SELECT User_Id, Score, @rank := @rank + 1 AS Ranking
FROM Rankings, (SELECT @rank := 0) XX
ORDER BY Score DESC;
注意:这将根据select查询自动检测列数据类型和列名,有时它们是不正确的。
要创建所需的列名及其数据类型,您可以在 CREATE TABLE
子句中提及。
CREATE TABLE new_table_name (user_id INT NOT NULL, rank INT)
SELECT User_Id, Score, @rank := @rank + 1 AS Ranking
FROM Rankings, (SELECT @rank := 0) XX
ORDER BY Score DESC;
2: INSERT ... SELECT Syntax: 这将用于在现有的 table.
中存储 select 语句的数据INSERT INTO existing_table_name (user_id, rank)
SELECT User_Id, Score, @rank := @rank + 1 AS Ranking
FROM Rankings, (SELECT @rank := 0) XX
ORDER BY Score DESC;
您可以使用以下语法
基于select查询数据创建新的tableCREATE TABLE new_tbl [AS] select query;
根据您的查询
Create table Tablename AS Select User_Id, Score, @rank := @rank + 1 as Ranking
from Rankings, (select @rank := 0) XX
order by Score desc
有关详细信息,请参阅 https://dev.mysql.com/doc/refman/5.6/en/create-table-select.html