【发布时间】:2016-08-01 14:50:27
【问题描述】:
我有一个简单的表格“药物”,有 4 列:“EAN”、“ATC”、“数量”、“价格”。 EANs 和 ATCs 是某种药品代码,而 amount 基本上是在给定价格下购买的药品包的数量。它们都不是唯一的,行可以(并且可能确实)重复。我需要一个包裹的费用,所以我使用了:
SELECT EAN, ATC, ROUND((price/amount),2) FROM drugs
但结果的行数较少。准确地说,drugs 总共有 23,658,687 行,而查询结果只有 23,657,443 行。那 1,244 条记录怎么了?我认为结果将具有完全相同的行,但每行中都有新的计算值而不是旧的两个。
【问题讨论】:
-
drugs中的所有记录都应该出现。自从您获得23,658,687总数后,表格是否有可能被修改? -
如果您没有任何
where条件,那么此查询将返回与select * from drugs相同的行数...您可以发布一个 sql fiddle 来解决您的问题吗? -
可能有些行有
amount = 0。 -
@TimBiegeleisen 这是本地 mysql 服务,我是唯一一个在使用它的人,自几周前创建该表以来,总共有 23,658,687 个。
-
好的@Missy,1=1 工作。请将此作为答案,并解释为什么它会这样。