MySQL - 具有两个值的除法的SELECT返回不同的行数

时间:2016-08-01 14:50:28

标签: mysql sql

我有一个简单的表'药物'有4列:'EAN','ATC','金额','价格'。 EAN和ATC是某种药物代码,而数量基本上是以给定价格购买的药物包装数量。不是它们是唯一的,行可以(并且可能)复制。我需要一个包的成本,所以我使用了:

SELECT EAN, ATC, ROUND((price/amount),2) FROM drugs

但结果的行数较少。确切地说,药物总行数为23,658,687,而查询结果仅为23,657,443。那1,244条记录怎么了?我认为结果将具有完全相同的行,但每行中的新计算值而不是旧的。

1 个答案:

答案 0 :(得分:1)

添加

   SELECT EAN, ATC, ROUND((price/amount),2) FROM drugs where 1=1 

这将选择您的所有记录。我不知道它为什么会起作用,但确实如此。我猜测有一些确切的重复记录没有被返回,新的WHERE语句强制它们出现。