Reverse row "order" value from table MySQL with PHP

nick

I have a table with rows and each one has an "order" value. Now, I have like 500 rows and I need to reverse the "order" values. So the first one should be last and so on.

For example:

Name   |  Order
-------------------
Row 1  |    1
Row 2  |    4
Row 3  |    5
Row 4  |    8
Row 5  |    12
Row 6  |    20

Should now be:

Name   |  Order
-------------------
Row 1  |    20
Row 2  |    12
Row 3  |    8
Row 4  |    5
Row 5  |    4
Row 6  |    1

I need to do this just one time so performance doesn't really matter. How can I do this using PHP?

Paul Spiegel

If your only requirement is

So the first one should be last and so on

you can just negate the values (as I wrote in the comments). That can be done with

update mytable set `Order` = - `Order`

However - Here is an SQL script which will "swap" the values in the Order column from least to greatest, from second least to second greatest ond so on..

create table tmp_asc(
  i int auto_increment primary key,
  o int,
  index (o)
);

insert into tmp_asc(o)
  select `Order` from mytable order by `Order` asc;

create table tmp_desc(
  i int auto_increment primary key,
  o int,
  index (o)
);

insert into tmp_desc(o)
  select `Order` from mytable order by `Order` desc;

update mytable t
join tmp_asc on tmp_asc.o = t.Order
join tmp_desc on tmp_desc.i = tmp_asc.i
set t.Order = tmp_desc.o;

drop table tmp_asc, tmp_desc;

Demo

MySQL 8 with window functions makes it simpler:

with cte as (
  select `Order`
  , row_number() over (order by `Order` asc)  as rn_asc
  , row_number() over (order by `Order` desc) as rn_desc
  from mytable
)
update mytable t
join cte a on a.Order = t.Order
join cte d on d.rn_desc = a.rn_asc
set t.Order = d.Order;

Demo

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

PHP MYSQL finding row number/rank from table with order by clause

php selecting an order from a different mysql table

MySQL function return value from row in table

How to select the row value based on preference order in the table using MySql

Deleting Row from users table PHP MYSQL

Reverse the order with the maximum value of each row

How to inner join from another table and order by specific row value?

MySQL: Which is the row's order of "SELECT * FROM table"?

Join a table to itself in reverse order in mysql

html - php echo row repeatedly (table reverse)

grab value from string in reverse order

Delete a value from table in descending order PHP (Possible?)

Select specific row from mysql table based on a column value

Mysql, copy a cell value from another row in the same table

mysql delete row based on value from another table

Beginner: Delete row from Table and Database PHP/HTML/MySQL

Display Store Products in Row from MySQL table (PHP)

Deleting specific row from a table in MySQL using PHP

php/pdo/mysql accessing selected row from a select * in html table

PHP form delete from MYSQL table dont delete the right row

How to copy all Row from table to same other in MySQL PHP

Get value from mysql table in same cell as another value PHP

Php mysql - order by temporary value

Returning a value 0 from a database row in PHP/MySQL after a query

PHP+Mysql Display Value from multiple rows in one row

php foreach looping off value from mysql row

Value row and empty row added to MySQL table

How to order row by specific value? MySQL CodeIgniter

SAS - Reverse order of values of a Variable based on another Variable value in a Table

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive