Làm cách nào để trừ cột này khỏi cột khác trong mysql?

Nếu bạn đã có cột và muốn cập nhật câu trả lời của @ ssamuel sẽ hướng dẫn bạn. Nếu bạn không có cột Vote_Down và muốn chọn nó làm cột trong truy vấn. Đây sẽ là truy vấn chọn

Bạn có muốn làm điều đó trong MySQL hoặc Node Red không?

Nếu bạn muốn làm điều đó trong MySQL, bạn sẽ phải tham gia bảng với chính nó để lấy mục trước đó. Một cái gì đó dọc theo dòng

select current.value - previous.value
from mytable as current
inner join mytable as previous on previous.ID =
    (
        select mytable.ID
        from mytable
        where mytable.Device = current.Device
            and mytable.timestamp < current.timestamp
         order by mytable.timestamp desc
         limit 1
    )

Trước tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable741 values(70);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable741 values(55);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable741 values(89);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable741 values(79);
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable741 values(34);
Query OK, 1 row affected (0.17 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable741;

Điều này sẽ tạo ra đầu ra sau -

+--------+
| Number |
+--------+
| 70     |
| 55     |
| 89     |
| 79     |
| 34     |
+--------+
5 rows in set (0.00 sec)

Sau đây là truy vấn để trừ cùng một số tiền từ tất cả các giá trị trong một cột -

mysql> select (Number-20) AS Result from DemoTable741;

Điều này sẽ tạo ra đầu ra sau -

+--------+
| Result |
+--------+
| 50     |
| 35     |
| 69     |
| 59     |
| 14     |
+--------+
5 rows in set (0.00 sec)

Làm cách nào để trừ cột này khỏi cột khác trong mysql?


Làm cách nào để trừ cột này khỏi cột khác trong mysql?

Trước tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
(
   Score int
);
Query OK, 0 rows affected (0.65 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

________số 8

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Điều này sẽ tạo ra đầu ra sau -

mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)
0

Sau đây là truy vấn để cập nhật cột MySQL bằng cách trừ một giá trị với một số điều kiện -

mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)
1

Hãy để chúng tôi kiểm tra các bản ghi bảng một lần nữa -

mysql> select *from DemoTable;

Điều này sẽ tạo ra đầu ra sau -

mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)
3

Làm cách nào để trừ cột này khỏi cột khác trong mysql?


Làm cách nào để trừ cột này khỏi cột khác trong mysql?

Tất nhiên, điều này sẽ chỉ hoạt động nếu bạn luôn có hợp đồng '001' và '002' cho bất kỳ giá trị nhất định nào là

mysql> insert into DemoTable741 values(70);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable741 values(55);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable741 values(89);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable741 values(79);
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable741 values(34);
Query OK, 1 row affected (0.17 sec)
2

Điều tôi nghi ngờ bạn thực sự muốn là trừ các giá trị từ hàng trước đó - trong trường hợp đó, bạn có thể sử dụng các hàm LAG và LEAD của SQL Server. Chức năng cửa sổ SQL Server LEAD và LAG[^]

Tôi không biết những người khác làm gì nhưng tôi làm như thế này

Tôi đã tạo hai bảng như thế này

mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)
4
mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)
5

và tôi đã chèn bốn giá trị mẫu vào bảng 1 như thế này,

mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)
6

và hai giá trị mẫu trong bảng2 như thế này

mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)
7

Bây giờ hãy xem cách trừ tổng của cột 1 của bảng 2 với mọi giá trị trong cột 1 của bảng 1

mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)
8

và tôi nhận được kết quả như thế này,

mysql> create table DemoTable741 (Number int);
Query OK, 0 rows affected (0.61 sec)
9

Hoặc nếu bạn muốn trừ tổng với tổng

mysql> insert into DemoTable741 values(70);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable741 values(55);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable741 values(89);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable741 values(79);
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable741 values(34);
Query OK, 1 row affected (0.17 sec)
0

mà cho,

mysql> insert into DemoTable741 values(70);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable741 values(55);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable741 values(89);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable741 values(79);
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable741 values(34);
Query OK, 1 row affected (0.17 sec)
1

Làm cách nào để trừ hai cột trong MySQL?

CHỌN (ĐẾM(CỘT1) - ĐẾM(CỘT2)) NHƯ CỘT3 TỪ TÊN BẢNG ; .

Làm cách nào để trừ trong MySQL?

Toán tử này được sử dụng để cộng trừ một số với một số khác. .
ví dụ 1. Sau đây là một ví dụ về toán tử "-" − mysql> SELECT 4156456-56445; . 4156456-56445. +---------------+. 4100011. +----------------+ 1 hàng trong tập hợp (0. 00 giây)
ví dụ 2. .
ví dụ 3

Làm cách nào để trừ hai giá trị trong truy vấn MySQL?

MySQL - Toán tử trừ (-) . Nó hoạt động trên các giá trị số.

Cách cộng và trừ trong truy vấn MySQL?

Ví dụ: để thêm giá trị ngày, hãy sử dụng DATE_ADD() ; . 7, “Chức năng ngày và giờ”. .
+ Bổ sung. mysql> CHỌN 3+5;
- Phép trừ. mysql> CHỌN 3-5;
- Phép trừ đơn phương. .
*.
/.
BHTG. .
N % M , N MOD M