繁体   English   中英

如何获取特定列的最后记录值?

[英]How to get the last record value of a particular column?

查询:

select total_amount from sales_return;

输出:

total_amount
157.00
8.00
1.00
52.00

我正在尝试获取最后一个值,即52.0 所以我尝试了以下查询。

select total_amount from sales_return order by total_amount desc limit 1;

显示第一个值157.00作为输出。 我做错了什么?

查询以创建sales_return表。

'sales_return', 'CREATE TABLE `sales_return` (
  `sales_return_no` varchar(12) DEFAULT NULL,
  `sales_return_date` date DEFAULT NULL,
  `bill_type` varchar(20) DEFAULT NULL,
  `bill_no` varchar(12) DEFAULT NULL,
  `bill_date` date DEFAULT NULL,
  `cust_name` varchar(60) DEFAULT NULL,
  `doctor_name` varchar(100) DEFAULT NULL,
  `payment_mode` varchar(20) DEFAULT NULL,
  `card_no` varchar(25) DEFAULT NULL,
  `card_holders_name` varchar(20) DEFAULT NULL,
  `bank_name` varchar(20) DEFAULT NULL,
  `card_expiry` varchar(20) DEFAULT NULL,
  `item_code` varchar(30) DEFAULT NULL,
  `item_name` varchar(100) DEFAULT NULL,
  `mfr_name` varchar(50) DEFAULT NULL,
  `formulation` varchar(45) DEFAULT NULL,
  `batch_no` varchar(100) DEFAULT NULL,
  `qty` int(11) DEFAULT NULL,
  `unit_price` double(12,2) DEFAULT NULL,
  `expiry_date` date DEFAULT NULL,
  `mrp` double(12,2) DEFAULT NULL,
  `unit_discount` double(3,1) DEFAULT NULL,
  `unit_vat` double(3,1) DEFAULT NULL,
  `sub_total` double(12,2) DEFAULT NULL,
  `total_discount` double(12,2) DEFAULT NULL,
  `total_vat` double(12,2) DEFAULT NULL,
  `total_amount` double(12,2) DEFAULT NULL,
  `paid_amount` double(12,2) DEFAULT NULL,
  `balance_amount` double(12,2) DEFAULT NULL,
  `total_items` int(11) DEFAULT NULL,
  `total_qty` int(11) DEFAULT NULL,
  `adj_id` int(11) unsigned DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8'

如果没有通过order by形式的上下文,Mysql没有“第一条记录”或“最后一条记录”的概念。 没有该order by第一条记录和最后一条记录是不确定的/毫无意义的。

从您提供的表模式来看, sales_return_date似乎是确定记录“订单”的合适字段。 即,最后输入的记录是最近输入的记录。 因此,我们需要order by该字段order by ,然后limit结果limit为一个1。

select total_amount
  from sales_return
  order by sales_return_date desc
  limit 1

查询:

select `total_amount` from `sales_return` order by `bill_date` desc limit 1

上面的查询可能会为您提供最后的total_amount值。

试试这个:这里adj_id是无符号的,所以没有负值,并且可能像主键一样起作用,所以试试这个

 select total_amount
      from sales_return
      order by adj_id desc
      limit 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM